reactjs - React:如何使用 Hooks 一次将所有状态传递给子组件?
问题描述
使用类组件,当你有很多状态要传递时,而不是一个一个地传递十个状态对象,我看到你可以这样做:
<Childcomponent {...this.state}/>
或者
<Childcomponent data={this.state}/>
如果您使用 UseState 或 UseReducer,您知道如何做同样的事情吗?
我翻遍了所有地方都找不到答案。
顺便说一句,由于 React 本身建议不要过多地使用 Context API,我正在尝试找出没有它是否可以做到这一点。
解决方案
如果您在一个 useState 挂钩中拥有所有状态,那么只需将其传递给子组件
const [data, setData] = useState({});
<Childcomponent data={data}/>
如果您的组件中有多个 useState 挂钩,并且您想将所有状态传递给子组件
const [data, setData] = useState({});
const [data2, setData2] = useState({});
const [data3, setData3] = useState({});
<Childcomponent data={{ ...data, ...data2, ...data3 }}/>
推荐阅读
- java - 如何对List的元素求和
- c# - 如何在 C# 的列表中交换 2 个值?
- xcode - Swift 如何在 4 个输入的方法中使用 Switch 语句(SENDER)
- c++ - 如何在正在运行的进程上设置断点
- sql - 如何将 SQL 查询转换为 MongoDB
- html - 将 rem 单位乘以一个值以输出 deg 单位
- javascript - 多次调用函数时避免数字多次递增
- python - `pip install fastparquet` 失败并显示“找不到适合 Requirement.parse('numpy>=1.11') 的分布”但 `pip install numpy==1.11` 成功
- ios - 在评估Javascript期间未调用 WKURLSchemeHandler 委托
- python - 了解具有两个自调用的递归函数的执行流程