Reactjs 将useDispatch和useSelector与异步操作一起使用时,无法返回任何结果
我最近一直在学习如何使用Redux,并决定将我的一个类重构为带有挂钩的功能组件。但是,当我发送操作时,没有得到任何结果 产品组成:Reactjs 将useDispatch和useSelector与异步操作一起使用时,无法返回任何结果,reactjs,redux,Reactjs,Redux,我最近一直在学习如何使用Redux,并决定将我的一个类重构为带有挂钩的功能组件。但是,当我发送操作时,没有得到任何结果 产品组成: const Products = () => { const products = useSelector(state => state.products) const dispatch = useDispatch(); useEffect(() => { dispatch({type:"FETCH_PRODUCTS",
const Products = () => {
const products = useSelector(state => state.products)
const dispatch = useDispatch();
useEffect(() => {
dispatch({type:"FETCH_PRODUCTS", payload: products});
})
return (
<Container>
<Top>
<StyledNavLink to="/products/add">Add Product </StyledNavLink>
</Top>
<ProductList products={products} />
</Container>
);
}
export default Products;
减速器:
const productReducer = (state = [], action) => {
switch (action.type) {
case "ADD_PRODUCT":
return state
case "FETCH_PRODUCTS":
return action.payload
default:
return state;
}
};
import productReducer from "./productReducer";
import { combineReducers } from "redux";
const rootReducer = combineReducers({
products: productReducer
});
根部异径管:
import productReducer from "./productReducer";
import { combineReducers } from "redux";
const rootReducer = combineReducers({
products: productReducer
});
索引:
const store = createStore(rootReducer, applyMiddleware(thunk));
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.querySelector("#root")
);
conststore=createStore(rootReducer,applyMiddleware(thunk));
ReactDOM.render(
,
document.querySelector(“根”)
);
当我使用类组件时,代码返回值。您需要使用像这样的操作useffect(()=>{dispatch(fetchProducts());})您需要使用像这样的操作useffect(()=>{dispatch(fetchProducts());})