结合两个mapStateToProps React

时间:2019-08-29 16:15:43

标签: javascript reactjs

我在React的MapStateToProps函数中遇到一些问题。 我需要在const中定义状态,但没有成功,因为我还要在其中定义一个(设置)。

代码看起来像这样。

const mapStateToProps = ({ settings }) => {
  const { locale, navCollapsed } = settings;
  return { locale, navCollapsed }
};

可以使用,但是我需要添加

 authenticated: state.auth.token !== null

在return语句中,但要正常工作,它必须看起来像

const mapStateToProps = state => {

所以我的问题是如何结合这两个mapStateToProps。

const mapStateToProps = ({ settings }) => {
  const { locale, navCollapsed } = settings;
  return { locale, navCollapsed }
};

还有这个

const mapStateToProps = state => {
  return { authenticated: state.auth.token !== null }
};

1 个答案:

答案 0 :(得分:3)

首先,mapStateToProps不是反应物,它是redux物。为了使其正常工作,您只需要遵循state示例,因为这是官方/基本界面。

  const mapStateToProps = state => {
    return { 
      authenticated: state.auth.token !== null,
      locale: state.settings.locale
    }
  }

出现此问题的原因是,您认为state{ settings }是不同的,但实际上在您的示例中它们是同一回事。然后只需搜索javascript的解构即可。