【发布时间】:2020-09-29 22:27:09
【问题描述】:
我不可能在 redux thunk 中调度后立即获取存储值? 我的组件是这样的: ...
const handleGetProduts = async() => {
await props.getProducts()
setResults(props.results)
console.log('props after getProducts: ', props)
}
... 而reducer是:
const initialState= {
results: [],
products: [],
}
export default (state = initialState, action) => {
console.log(action)
switch (action.type) {
case 'GET_PRODUCTS_FULFILLED':
return {
...state, results: action.payload.results
}
default:
return state
}
}
export const getProducts = () => async dispatch => {
console.log('Enter getProducts')
const result = await dispatch({
type: 'GET_PRODUCTS',
payload: fetch('http://server.domaina.com').then(response => response.json())
});
return result;
};
谢谢
【问题讨论】:
-
它可能会起作用,但这样一来,您就必须担心组件中的操作。此外,您的减速器将不可重复使用。更好的方法是使用 Action Creator。
标签: reactjs redux redux-thunk