我坐在一个带有上下文菜单的项目中,该项目通过State
传递它的内容(State
)( setState
从App
条目组件一路传递)。因此,任何呈现的组件都可以决定其上下文菜单侧边栏的外观。我知道这不是一个好的模式,主要是因为Elements
不属于一种状态(它们不能正确地进行比较),也可能是因为传递setState
有点冗长。
我不确定的是有什么合适的方法来解决这个问题。
Elements
?我将移除控制反转(即边栏不需要知道其内容),因为有一个地方,所有字符串都映射到Elements
,我宁愿保持这个模式。Context
一起工作?或者,除了我不再需要通过setState
方法的好处之外,这与使用状态一样糟糕吗?无论如何,我看不出有什么方法可以从另一个组件中更新Context
,而不必再次将setState
传递给它,并将Elements
设置为数据。发布于 2022-06-17 11:57:59
显然,你犯了一个结构错误,称为支柱钻探。建议的处理这类用例的方法是利用Reactjs提供的Redux或Context API。这里是一篇关于差异和用例的合理文章。希望这能有所帮助。
https://stackoverflow.com/questions/72663899
复制相似问题