Javascript 组件级React中的状态管理
如果您使用Redux来管理全局状态,那么如何管理仅由该组件及其类似于childrenact的容器使用的独占组件状态 编辑 我已经在使用useState了。 我要求一个更好的方法,因为我最终得到了很多useState语句Javascript 组件级React中的状态管理,javascript,reactjs,redux,Javascript,Reactjs,Redux,如果您使用Redux来管理全局状态,那么如何管理仅由该组件及其类似于childrenact的容器使用的独占组件状态 编辑 我已经在使用useState了。 我要求一个更好的方法,因为我最终得到了很多useState语句 有什么想法吗?我认为,当redux和其他工具管理状态尚未出现时,您希望用纯React控制的状态复杂的容器也会出现。 在您的例子中,容器是一个根组件,类似于索引处的App组件。它管理复杂的状态对象,并将键值或某些函数传递给子对象 Class Container extend Com
有什么想法吗?我认为,当redux和其他工具管理状态尚未出现时,您希望用纯React控制的状态复杂的容器也会出现。 在您的例子中,容器是一个根组件,类似于索引处的App组件。它管理复杂的状态对象,并将键值或某些函数传递给子对象
Class Container extend Component {
state = {
// complicated state
}
render() {
return (
<Children1 key1={this.state.value1...} />
<Children2 key1={this.state.value2...} />
<Children3 key1={this.state.value3...} />
)
}
}
或者,您可以使用功能组件更灵活地管理状态:
const Container = () => {
const [state1, setState1] = useState({ // some key: value here });
const [state2, setState2] = useState({ // some key: value here });
const [state3, setState3] = useState({ // some key: value here });
return (
<Children1 keyObject={state1} keyValue={state1...} />
<Children2 keyObject={state2} />
<Children3 keyObject={state3} />
)
}
请用您的编辑回答:
我认为useState是处理您的案例的更好方法。使用客户端时,必须控制变量的使用位置。国家的分裂将帮助你更灵活地控制它们。
如果你有很多useState语句,你应该考虑修改容器和子组件的结构。复杂状态是什么意思?你需要将多个状态传递给不同的子组件。我使用MapStateTrops来更改状态。我想你没有明白我的问题。MapStateTops:用于从存储状态选择零件,并将其映射到组件的道具。我的问题是,组件状态还不是存储的一部分,我不想将它放在存储中,因为它只在组件及其子组件中使用。为什么不在组件级别上使用普通状态管理useState?