我的React应用程序中有这个(简化的(结构:
App
|
---------
| |
Child1 Child2
我想将数据从Child1
传递到Child2
(例如,单击Child1
中的按钮将更改Child2
中一个元素的颜色(
这里有两点很重要:
- 如果可能的话,我想避免Redux
- 我不想重新渲染整个应用程序。只有
Child2
应重新渲染
有没有实现这一点的选择(没有Redux(?
试着让每个孩子"愚蠢的";让他们呈现UI。任何会导致副作用的更改(状态更改/处理单击等(都会移动到父元素,并进入挂钩。
Child1获得一个onClick函数(通过钩子从父级获得(,child2获得影响其外观的任何状态变量。
如果孩子在其他孩子里面,你想避免";支柱钻孔";,然后使用React。上下文是轻量级的。