reactjs - reactjs数据映射,从服务器获取数据
问题描述
我是新的 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 (...)
}
推荐阅读
- android - Android Studio 28.0.1 All Package 不可用
- firebase - 当云功能响应未全部返回查询数据时,firebase 如何收费?
- php - 计算年龄:PHP vs MySQL,哪种方法更好?
- python - 在 Python 中请求 POST JSON 数据
- vue.js - Vue/Vuetify 和绑定 carousel img src 的方法不显示图像
- android - Android:无法压缩生成的文件
- python - matplotlib 和 seaborn 热图在 Jupyter 中以不同方式呈现到 savefig(标签被切断)
- shiny - 反应性价值观 - 我做错了什么
- javascript - Javascript。求十六进制码的倒数
- c++ - 分配给 std::unique_ptr 数组