Javascript 在getDefaultProps中创建唯一id
在我的组件的Javascript 在getDefaultProps中创建唯一id,javascript,reactjs,Javascript,Reactjs,在我的组件的getDefaultProps中,我返回一个类似{id:idGenerator.unique()}的对象,它应该在每次方法调用时为我提供一个唯一的id。但是,react不会对每个实例执行getDefaultProps()方法,而只对组件执行一次。因此,每当我使用该组件时,我都会得到相同的但不是唯一的id 是否有其他方法将id挂接到每个实例的props对象中?props的状态通常是反模式,但在这里可能有意义,例如: var Foo = React.createClass({ ge
getDefaultProps
中,我返回一个类似{id:idGenerator.unique()}
的对象,它应该在每次方法调用时为我提供一个唯一的id。但是,react不会对每个实例执行getDefaultProps()
方法,而只对组件执行一次。因此,每当我使用该组件时,我都会得到相同的但不是唯一的id
是否有其他方法将id挂接到每个实例的props对象中?props的状态通常是反模式,但在这里可能有意义,例如:
var Foo = React.createClass({
getInitialState: function() {
return {
id: this.props.id || idGenerator.unique()
}
}
.....
});
使用这个.state.id而不是道具。如果组件可能在某个时候获得ID,您可以在componentWillReceiveProps中处理该ID它是否需要成为一个道具?你有时会把身份证递进来吗?否则它可能也有意义,最好是一个默认的道具,这样当我想提供一个自定义id时,我可以轻松地覆盖它。如果这不起作用,我也会接受不同的方法。