在整个React JS页面中维持对象状态的方法是什么

发布于 2025-01-17 18:50:17 字数 81 浏览 0 评论 0原文

因此,在我们的项目中,数据将输入到第一页组件上,我们希望该数据出现在第五页上,而不是第二页、第三页、第四页上。 我们无法维持对象的状态直到第 5 页

so in our project the data will be entered on the 1st page component and we want that data on the 5th page not on the 2nd 3rd 4th page.
we are not able to maintain the state of object till the 5th page

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

可爱咩 2025-01-24 18:50:17

您可以使用 Context 项。

您可以创建一个可以在多个组件中访问的对象。当然,这可以与状态结合起来。

1-创建上下文(在本例中,我制作了一个组件包装器,以便更轻松地包含在代码中。2-

export const DataContext= React.createContext({
  data: 60, //Default values in case no value is provided
  setData: () => {}
});

export function DataContextContainer({children}) {
  const [data, setData] = useState(60);

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

使用组件包装所需的组件(它将读取该数据)

import {DataContextContainer} from "./DataContextContainer";
 ...
<DataContextContainer>
    ...
         <YourComponent/>
    ...
</DataContextContainer>

3-现在您可以轻松访问该 组件使用钩子 useContext上下文使用者

import {DataContext} from './DataContext'

...
    const {data, setData} = useContext(DataContext);
...

4-在您的输入中使用它:

<input type="text" value={data} onChange={(e) => setData(e.target.value)}/>

You can use a Context item.

You can create an object which can be accesible in multiple components. This can, of course, be combined with state.

1-Create the context (in this case I made a component wrapper to make it easier to include in the code.

export const DataContext= React.createContext({
  data: 60, //Default values in case no value is provided
  setData: () => {}
});

export function DataContextContainer({children}) {
  const [data, setData] = useState(60);

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

2-Wrap your desired components (which will read that data) with the component

import {DataContextContainer} from "./DataContextContainer";
 ...
<DataContextContainer>
    ...
         <YourComponent/>
    ...
</DataContextContainer>

3- Now you can easily have access to that object in any of the components wrapped using the hook useContext or a context consumer.

import {DataContext} from './DataContext'

...
    const {data, setData} = useContext(DataContext);
...

4- Use it in your input:

<input type="text" value={data} onChange={(e) => setData(e.target.value)}/>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文