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时,我可以轻松地覆盖它。如果这不起作用,我也会接受不同的方法。