Reactjs 如何在更新ThemeProvider上的主题道具时防止渲染组件
我通过更新Reactjs 如何在更新ThemeProvider上的主题道具时防止渲染组件,reactjs,material-ui,Reactjs,Material Ui,我通过更新ThemeProvider上的theme道具来更新颜色主题。其中一个by组件有Popper,如果我切换它并发送更改themeprop,则Popper将消失 不过,它会更新默认颜色值。但是我想让Popper不需要重新加载就可以显示它 演示不可用请勿重新渲染。使用popper对组件进行斗争(调试)重新安装。可能您会发现一些带有随机值的key或导致重新装载。@skyboyer我想这是因为更改了EPProvider值,因为无法卸载Popper组件,实际上很多人都显式地使用上下文或作为red
ThemeProvider
上的theme
道具来更新颜色主题。其中一个by组件有Popper
,如果我切换它并发送更改theme
prop,则Popper
将消失
不过,它会更新默认颜色值。但是我想让Popper
不需要重新加载就可以显示它
演示不可用请勿重新渲染。使用
popper
对组件进行斗争(调试)重新安装。可能您会发现一些带有随机值的key
或导致重新装载。@skyboyer我想这是因为更改了EPProvider值,因为无法卸载Popper组件,实际上很多人都显式地使用上下文或作为redux
或materialui
的一部分。我不认为一旦某个值被更新,它们都会失去组件的状态。只需将componentWillUmount(){console.log('unmounted!')}
添加到呈现
的组件中,即可检查此假设。