在 React v18 中,可以使用 React Context 来在不同的组件之间共享数据。

首先,需要创建一个 Context 对象来存储要共享的数据。可以使用 React.createContext() 方法来创建一个新的 Context 对象。例如:

const MyContext = React.createContext();

然后,需要在一个父组件中将要共享的数据传递给 Context 对象。可以使用 MyContext.Provider 组件来包裹需要共享数据的子组件,并通过 value 属性将数据传递给子组件。例如:

function ParentComponent() {
  const sharedData = "Shared Data";
  
  return (
    <MyContext.Provider value={sharedData}>
      <ChildComponent />
    </MyContext.Provider>
  );
}

接下来,在需要访问共享数据的子组件中,可以使用 MyContext.Consumer 组件来消费共享数据。使用函数作为 MyContext.Consumer 的子组件,并接收共享数据作为参数。例如:

function ChildComponent() {
  return (
    <MyContext.Consumer>
      {sharedData => (
        <div>{sharedData}</div>
      )}
    </MyContext.Consumer>
  );
}

这样,ChildComponent 就可以访问到 ParentComponent 中共享的数据了。

另外,还可以使用 useContext 钩子来访问共享数据。可以在函数组件中使用 useContext 钩子来获取 Context 对象中的共享数据。例如:

function ChildComponent() {
  const sharedData = React.useContext(MyContext);
  
  return (
    <div>{sharedData}</div>
  );
}

这样,ChildComponent 就可以通过 useContext 钩子来获取 ParentComponent 中共享的数据了。

通过上述方法,就可以在不同的组件之间共享数据了

react v18 如何在不同的component 之间共享数据

原文地址: https://www.cveoy.top/t/topic/iCV8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录