如何使用 Api-request 的结果而不将它们放入状态 React Redux Saga
how to use results from Api-request without putting them to the state React Redux Saga
我想使用从 Api 获得的结果 - 直接在 render()
中请求使用。我可以吗?
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
或 class 组件的情况下 componentDidMount
后触发 API 调用。
您需要一个状态来保存初始用户值。最初 users
将是一个 []
,一旦您调用 API,您的用户可能是用户列表 [{}, {}]
。现在,如果您看到这里,我们将在一段时间内将值从 []
更改为 [{}, {}]
。 State
react 提供的就是这个目的。每当一个值在一段时间内通过 API 调用或用户交互发生变化时,它必须保存在 State
中。
我想使用从 Api 获得的结果 - 直接在 render()
中请求使用。我可以吗?
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
或 class 组件的情况下 componentDidMount
后触发 API 调用。
您需要一个状态来保存初始用户值。最初 users
将是一个 []
,一旦您调用 API,您的用户可能是用户列表 [{}, {}]
。现在,如果您看到这里,我们将在一段时间内将值从 []
更改为 [{}, {}]
。 State
react 提供的就是这个目的。每当一个值在一段时间内通过 API 调用或用户交互发生变化时,它必须保存在 State
中。