我是新的 reactjs 我正在尝试保存从服务器获取的数据,例如对象(数组),但我不能。
在 render() 函数中,我应该怎么做才能保存数据,我不想显示,只是保存到用户(数组)或其他东西?我认为我应该使用“地图”,但我不知道该怎么做。接下来,我想像这样将用户保存到model.data中。帮我。
我是新的 reactjs 我正在尝试保存从服务器获取的数据,例如对象(数组),但我不能。
在 render() 函数中,我应该怎么做才能保存数据,我不想显示,只是保存到用户(数组)或其他东西?我认为我应该使用“地图”,但我不知道该怎么做。接下来,我想像这样将用户保存到model.data中。帮我。
由于您刚刚开始使用 react,因此请尝试使用React Hooks而不是类样式组件。这是推荐的方式。
如果您只想存储数据而不显示任何内容,则需要某种封装/共享状态。例如redux
或context
可以帮助你。由于上下文是内置的并且更易于使用,因此这里是一个示例:
首先创建一个上下文
用户上下文.js
import React from "react";
export const UsersContext= React.createContext();
现在创建一个自定义挂钩来存储您的状态。
使用Users.js
import React, {useState, useEffect} from "react";
export const useUsers = () => {
const [users, setUsers] = useState([]);
const getUsers = () =>{
//your fetch
}
useEffect(()=>{ //equivalent to componentDidMount
getUsers();
}, [])
return {users, setUsers}
}
然后提供上下文,以便应用程序中的每个组件都可以访问该上下文。
应用程序.jsx
import {UsersContext} from "./UsersContext";
const App = () => {
const contextValue = useUsers();
return (
<div className={'App'}>
<UsersContext.Provider value={contextValue}>
<Main/>
</UsersContext.Provider>
</div>
);
};
export default App;
如果您想在组件中使用状态,例如配置文件页面,请执行以下操作:
个人资料页面.jsx
import React, {useContext} from "react";
import {UsersContext} from "./UsersContext";
const ProfilePage = () => {
const {users} = useContext(UsersContext);
// now you can use it like
console.log(users)
return (...)
}
import { UsersContext } from './Components/usersData/users-context';
const getUsers = () => {
const {users} = UsersContext(UsersContext);
console.log(users);
return users;
}
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
data:[]
}
data.push(getUsers);`
}
}