假设我将商店状态映射到 Prop ,如下所示:
const mapStateToProps = state => {
return {
somelist: state.somelist
};
};
我需要在渲染中创建变量,例如:
render() {
const { somelist } = this.props;
const somenestedlist = somelist.list;
}
但是,在我的渲染方法中,我还调用了另一个需要这些相同变量的方法。所以我可以:
(1) 从渲染方法传递它,例如:
render() {
const { somelist } = this.props;
const somenestedlist = somelist.list;
<div onClick={()=>this.someothermethod(somenestedlist)}
}
(2) 在非 DRY 的 someothermethod()
中重新声明它们。
(3) 创建一个返回所需值的函数,并在需要的地方调用它,如下所示:
getList() {
const { somelist } = this.props;
const somenestedlist = somelist.list;
return somenestedlist;
}
或者有比这些示例更好的方法吗?
最佳答案
您可以在mapStateToProps中转换一些嵌套列表:
const mapStateToProps = state => {
return {
somelist: state.somelist,
somenestedlist: state.somelist.list
};
};
在任何地方,你都可以使用 this.props.somenestedlist
关于reactjs - 如何使变量可用于组件中的每个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52250451/