Reactjs 将useDispatch和useSelector与异步操作一起使用时,无法返回任何结果

Reactjs 将useDispatch和useSelector与异步操作一起使用时,无法返回任何结果,reactjs,redux,Reactjs,Redux,我最近一直在学习如何使用Redux,并决定将我的一个类重构为带有挂钩的功能组件。但是,当我发送操作时,没有得到任何结果 产品组成: const Products = () => { const products = useSelector(state => state.products) const dispatch = useDispatch(); useEffect(() => { dispatch({type:"FETCH_PRODUCTS",

我最近一直在学习如何使用Redux,并决定将我的一个类重构为带有挂钩的功能组件。但是,当我发送操作时,没有得到任何结果

产品组成:

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());})