Я получаю сообщение об ошибке, когда я работаю с детьми с реквизитомUnknown Prop Предупреждение
Unknown prop
близко on <h3> tag. Remove this prop from the element.
.
Я создал родительский блок:
var Block = React.createClass({
getInitialState: function() {
return {open: true}
},
close: function() {
this.setState({open: false});
},
render: function() {
var childrenWithProps = React.Children.map(this.props.children, function(child) {
return React.cloneElement(child, {
close: this.close
})
}.bind(this));
return (
<div>
{childrenWithProps}
</div>
)
}
});
и использовать его в другом компоненте:
var Elm = React.createClass({
render: function() {
return (
<Block>
<h3>Hi</h3>
<button type="button" onClick={this.props.close}>Close</button>
</Block>
)
}
});
Я знаю, что это потому, что <h3>
не close
, но button
имеет его.
Как это исправить?
спасибо.
спасибо. Я хотел бы создать компонент Popup, который я могу использовать повсюду. У него может быть много детей. И дети могут закрыть его. – Fijir
Тогда вы должны сделать так, как я сказал: определите тег '' в определении 'Block', чуть ниже' {childrenWithProps} ' – martriay
Да, но' button' является просто примером. У меня может быть элемент, который должен закрыть всплывающее окно. Например, некоторая ссылка 'Close popup' или после некоторого действия ... – Fijir