如何使用来自 Api-request 的结果,而无需将它们置于状态 React Redux Saga



我想直接在render()中使用从 API 请求使用中获得的结果。我能做到吗?

const fetchUsersFromApi = () => fetch('https://jsonplaceholder.typicode.com/users?_limit=10')
function* fetchUserWorker() {
const data = yield call(fetchUsersFromApi)
const json = yield call(() => new Promise(res => res(data.json())))
yield put(setUsers(json))
}

不,你不能这样做.考虑到您在组件挂载到函数组件的useEffect内后触发 API 调用,如果是类组件,则componentDidMount.

您需要一个状态来保存初始用户值。最初users将是一个[],一旦您进行 API 调用,您的用户可能会成为用户列表[{}, {}]。现在,如果您看到此处,我们将在一段时间内将值从[]更改为[{}, {}]。 反应提供State就是为了这个目的。每当一个值在一段时间内通过API调用或用户交互发生变化时,它都必须保存在State中。