【发布时间】:2019-06-13 11:54:58
【问题描述】:
所以我一直在阅读有关使用反应上下文来避免钻取道具的信息。一个基本的例子是有一个组件提供一个值,该值本身保持在组件状态:
<ThemeContext.Provider value={this.state.shared, updateMyState}>
以及使用该值的消费者。
我可以共享导出列表的值,还是应该提供 Provider 的组件始终引用其状态或静态值?
这就是我的意思:
文件 ./list:
export const list = [];
export const updateList = (val) => list.push(val);
文件 ./provider:
import Provider from './provider'
import {list, updateList} from ./list
{Provider, Consumer} = React.createContext();
export ProviderComponent = () =>
<Provider value={list, updateList}>
<children>
</Provider>
}
【问题讨论】:
-
如果我理解您的要求正确 - 您可以向 Provider 添加函数/方法,然后引用处于状态的那些以将它们传递给 Consumer。
-
@Colin 你是说上面的例子不正确,我应该先将列表的引用存储在
ProviderComponent中?列表对象是我问题的核心
标签: reactjs react-context