Flux/utils: 如何在calculateState方法中获取props?
Flux/utils: How to access to props in the calculateState method?
在 container 组件中,如何从基于 this.props
的 calculateState
静态方法中的存储中获取状态?
容器无法访问道具默认情况下容器无法访问任何道具。这既是出于性能原因,也是为了确保容器可重用,并且 props 不必在组件树中穿插。在某些有效情况下,您需要根据道具和商店的状态来确定您的状态。在这些情况下 将选项 {withProps: true} 作为第二个参数传递给 create()。这会将组件道具公开为 calculateState() 的第二个参数。
class CounterContainer extends Component {
static calculateState(prevState,props) {
return {
counter: CounterStore.getState(props.id),
};
}
render() {
return <CounterUI counter={this.state.counter} />;
}
}
const container = Container.create(CounterContainer, {withProps:true});
在 container 组件中,如何从基于 this.props
的 calculateState
静态方法中的存储中获取状态?
容器无法访问道具默认情况下容器无法访问任何道具。这既是出于性能原因,也是为了确保容器可重用,并且 props 不必在组件树中穿插。在某些有效情况下,您需要根据道具和商店的状态来确定您的状态。在这些情况下 将选项 {withProps: true} 作为第二个参数传递给 create()。这会将组件道具公开为 calculateState() 的第二个参数。
class CounterContainer extends Component {
static calculateState(prevState,props) {
return {
counter: CounterStore.getState(props.id),
};
}
render() {
return <CounterUI counter={this.state.counter} />;
}
}
const container = Container.create(CounterContainer, {withProps:true});