小编gra*_*ren的帖子

React:如何使用相同类型的多个上下文,同时允许子级从所有上下文中读取数据

我有一个与此类似的上下文设置

const DataContext = createContext({ data: null });

const getData = (key) => {
    switch(key) {
        case 1:
            return "Hello"
        case 2:
            return " World"
        default:
            return null
    }
}

export const DataProvider = ({ id, children }) => {

  const data = useMemo(() => {
    return getData(id);
  }, [id]);

  return (
    <DataContext.Provider
      value={{
        data,
      }}
    >
      {children}
    </DataContext.Provider>
  );
};

export default DataContext

Run Code Online (Sandbox Code Playgroud)

以及像这样使用它的子组件

const HelloComponent = () => {
    return <DataProvider id={1}>
        {
            // children are components that …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-context

5
推荐指数
1
解决办法
6981
查看次数

标签 统计

javascript ×1

react-context ×1

reactjs ×1