除了Reusable Components doc之外,我找不到有关React道具验证如何/何时起作用的详细信息。从我的实验来看,看起来每个元素只会触发一次道具验证(如果我理解正确的话,Element就是一个表示DOM节点的对象,就像我们在render()
函数中编写的JSX代码一样) ,无论Component初始化和渲染多少次。一个例子(和fiddle),
var Hello = React.createClass({
propTypes: {
name: React.PropTypes.string.isRequired
},
render: function() {
return <div>Hello {this.props.name}</div>;
}
});
ReactDOM.render(
<Hello />,
document.getElementById('component-1')
);
ReactDOM.render(
<Hello />,
document.getElementById('component-2')
);
我可以找到一个maybe related PR,但我想知道是否有更详细的信息,说明它是如何工作的以及何时触发错误。
我希望每次初始化Component时都要触发它的真实用例是在测试中我们可能需要在多个测试用例中再次检查它,而我不知道如何解决它。任何建议将非常感激。谢谢!