【发布时间】:2020-03-14 02:03:30
【问题描述】:
使用 react 上下文 api 创建全局状态并获取数据并将其保存在上下文对象中以便子组件可以访问数据是否是个好主意。或者最好在根组件中获取数据并通过 props 将其传递给子组件。
如果全局状态使用上下文 api 更好,我如何获取数据并将其保存在全局状态中,因为 fetch 函数是异步的,我一直在使用 React useEffect 来解决它。
这是我的全局状态的 sn-p
import React from "react";
const GlobalState = React.createContext(null);
const socket = 'http://localhost:5000/';
const fetch_all_users = () => {
fetch(socket + 'get_users_data')
.then(response => response.json())
.then(json => {
console.log(json)
})
.catch(error => {
console.log(error);
});
}
const fetch_all_doors = () => {
fetch(socket + 'get_doors_data')
.then(response => response.json())
.then(json => {
console.log(json)
})
.catch(error => {
console.log(error);
});
}
【问题讨论】:
-
如果您只是将道具传递给第一个(或者可能是第二个)孩子,我不会使用上下文,否则如果更多孩子的孩子需要此信息,将使用上下文,但这只是我的方法。
-
我认为,首先,您需要了解一下上下文,以及它是如何使用的!什么是提供者,什么是消费者,如何提取所说的 globalState。到目前为止你做了什么?
标签: reactjs