Reactjs 在不重新渲染父对象的情况下将道具传递给子对象

Reactjs 在不重新渲染父对象的情况下将道具传递给子对象,reactjs,Reactjs,有没有一种方法可以在不重新渲染父对象的情况下将新道具传递给子对象?父组件中没有任何更改,除了新的道具正在传递给该组件,而该组件正在传递给其子组件。我认为上下文在这种情况下可能是合适的,但文档中似乎另有说明。这取决于您所说的React okay是什么意思。事实上你可以用这个,但我不推荐。直接在视图层次结构中推理和调试道具要容易得多,如果父级根本没有改变,那么执行渲染函数应该非常便宜 如果不便宜,您可能需要重新考虑如何构建组件。例如,您可能希望将昂贵的部分拆分为一个单独的组件,该组件仅在相关道具实际

有没有一种方法可以在不重新渲染父对象的情况下将新道具传递给子对象?父组件中没有任何更改,除了新的道具正在传递给该组件,而该组件正在传递给其子组件。我认为上下文在这种情况下可能是合适的,但文档中似乎另有说明。

这取决于您所说的React okay是什么意思。事实上你可以用这个,但我不推荐。直接在视图层次结构中推理和调试道具要容易得多,如果父级根本没有改变,那么执行渲染函数应该非常便宜


如果不便宜,您可能需要重新考虑如何构建组件。例如,您可能希望将昂贵的部分拆分为一个单独的组件,该组件仅在相关道具实际发生更改时才会渲染,或者至少在条件道具检查后保护昂贵的功能。

什么?道具的全部要点是从父代传递给子代。您不会重新渲染父对象。如果子项的数据发生更改。。但不是父母。。。它不会被重新渲染。这就是reacts虚拟dom的全部要点。通过“重新渲染”,我假设您的意思是再次调用
render()
函数。如果没有,那么由于虚拟DOM,您就没有什么可担心的了。无论如何,您可以使用flux/redux,但这也会很麻烦。或者,使用某种回调函数来更新子组件的内部状态可能是有意义的。但是,很难想出任何合理的理由不多次调用
render()
。它应该是幂等的,并且很少慢。如果性能是一个问题,请查看
shouldComponentUpdate