在react-redux中分派后呈现

问题描述 投票:0回答:1

我对react-redux有疑问。组件必须在完成数据获取后呈现。当前代码始终返回{}。我该如何解决这个问题?

function Category(props) {
  const [categories, setCategories] = useState([]);
  props.dispatch(categoryActions.fetch());
  useEffect( () => {
    setCategories(props.categories)
  }, [props]);

  return (
    <Container className={classes.root}>
        .....
    </Container>
  );
}

const mapStateToProps = state => ({
    categories: state.categories,
});

function mapDispatchToProps(dispatch) {
    return {
      dispatch,
    };
}

export default connect(mapStateToProps, mapDispatchToProps)(Category)
reactjs redux dispatch
1个回答
0
投票

首先,我有一些问题:

  1. const [categories, setCategories] = useState([]);是做什么的?categoriesCategory作为props提供给Connect组件。useState挂钩用于定义和控制内部状态。从技术上讲,这没有冲突,因为您可以分别将它们称为props.categoriescategories,但可能会造成混淆。

  2. 您想在组件中分派哪些动作?mapDispatchToProps看起来什么也没做。看看他们的official example

© www.soinside.com 2019 - 2024. All rights reserved.