Quelle est la différence entre:React composant proptypes vs élément
var Icon = React.createClass({
propTypes: {
name: React.PropTypes.string
},
render: function(){
return (
<span className={'glyphicon glyphicon-'+this.props.name}></span>
);
}
});
var Button = React.createClass({
propTypes: {
content: React.PropTypes.element // This one?
content: React.PropTypes.component // Or this one?
},
render: function() {
return (
<button>{content}</button>
);
}
});
Je voudrais utiliser;
<Button content={<Icon name="heart" />} />
Dans quel cas dois-je utiliser l'autre?
Merci
En effet, 'React.PropTypes.component' n'est pas dans le doc. C'est dans les extraits de Sublime JSX, mais ils peuvent être faux. Utiliser 'this.props.children' semble être une bien meilleure solution! –
En fait, je pense que c'était dans les docs, mais puisque React 0.12 'React.PropTypes.component' a été renommé' React.PropTypes.element'. C'est certainement dans les docs maintenant. Alors qu'en général, l'utilisation d'enfants est généralement une bonne solution, il y a des moments où passer des composants nommés comme accessoires vous permettra de faire des choses que vous ne pouvez pas simplement en imbriquant des enfants. Par exemple, vous devrez peut-être composer un composant de page en transmettant des composants d'en-tête et de pied de page comme accessoires, ce qui vous permettra de restituer la page avec différents en-têtes et pieds de page. – nextgentech