在我的組件的getDefaultProps
中,我返回了一個對象,如{ id: idGenerator.unique() }
,它應該爲每個方法調用提供一個唯一的ID。但是,響應不會對每個實例執行getDefaultProps()
方法,但對組件只執行一次。因此,無論何時使用該組件,我最終都會使用相同的不太唯一的 ID。在getDefaultProps中創建唯一的ID
是否有其他方法將id綁定到每個實例的道具對象中?
在我的組件的getDefaultProps
中,我返回了一個對象,如{ id: idGenerator.unique() }
,它應該爲每個方法調用提供一個唯一的ID。但是,響應不會對每個實例執行getDefaultProps()
方法,但對組件只執行一次。因此,無論何時使用該組件,我最終都會使用相同的不太唯一的 ID。在getDefaultProps中創建唯一的ID
是否有其他方法將id綁定到每個實例的道具對象中?
從道具國家通常是一個反模式,但可能是有意義的有,例如:
var Foo = React.createClass({
getInitialState: function() {
return {
id: this.props.id || idGenerator.unique()
}
}
.....
});
,只是使用this.state.id而不是道具。如果組件有可能在某個時候獲得ID,則可以在componentWillReceiveProps中處理該組件
這絕對適合我的使用情況。謝謝! – Taig
它是否需要成爲道具?你有時會通過ID嗎?否則,它可能是有意義的狀態 – wgcrouch
那麼,這將是一個很好的默認道具,以便我可以輕鬆地覆蓋它時,我想提供一個自定義的ID。如果這不起作用,我也會接受不同的方法。 – Taig