【问题标题】:Rendering after dispatch in react-redux在 react-redux 中调度后渲染
【发布时间】:2020-05-06 04:15:35
【问题描述】:

我对 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】:

    首先,我有几个问题:

    1. const [categories, setCategories] = useState([]); 有什么作用?
      categoriesConnect 提供给Category 组件。
      useState 钩子用于定义和控制内部状态。 这在技术上并不冲突,因为您可以分别称它们为 props.categoriescategories,但可能会有混淆。

    2. 您想在组件中调度哪些操作?
      mapDispatchToProps 看起来什么都不做。 看看他们的official example

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-20
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 2017-05-29
    • 2017-06-23
    • 2016-02-22
    相关资源
    最近更新 更多