在我真正深入研究之前问一下,因为这将重写一堆导航逻辑。
我可以有以下结构,其中我有一个列表屏幕和一个编辑屏幕,如下所示
<DataProvider>
<Navigator>
<Screen name="list" component={ComponentThatUseData} />
<Screen name="list different layout" component={ComponentThatUseData} />
<Screen name="list another different layout" component={ComponentThatUseData} />
<Screen name="edit" component={ComponentThatDoesNotUseData}>
</Navigator>
</DataProvider>
如果DataProvider
有一个useState
并且我更新它会导致编辑屏幕的重新渲染,即使useContext
没有调用?由于重新渲染会导致我的编辑表单失去焦点。
是的,根据我在 React Documentation 上的理解,React Context 的一个警告是,当 Context 中的状态更新时,孩子会受到影响,我认为这是因为 Context Provider 仍然是一个 React 组件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句