【问题标题】:map multi states to a component将多个状态映射到一个组件
【发布时间】:2018-01-15 05:09:40
【问题描述】:

我正在尝试将状态的两个部分映射到我的组件。下面的方法可以将多状态映射到一个组件吗?它有效,但我不知道它是否让您的专家嘲笑我的代码!我的意思是你还有其他方式吗?

const mapStateToProps = state => {
  return  ( state.auth, state.sina );
};

这个也有效:

const mapStateToProps = state => {
  return  {...state.auth, ...state.sina};
};

【问题讨论】:

  • const mapStateToProps = ({ auth, sina }) => ({ auth, sina })
  • @madox2 你的工作,但后来我尝试了这个const mapStateToProps = state => ({ state.auth, state.sina });,它和你的一样,但它会抛出错误,为什么?它们是一样的,不是吗?
  • 不要让自己对这种花哨的语法感到困惑。它是对象解构和属性简写的组合。一开始只需使用对象文字:)

标签: reactjs react-native ecmascript-6


【解决方案1】:

mapStateToProps 是常规的 javascript 函数。您可以返回带有任何您希望的属性的对象字面量,例如:

const mapStateToProps = state => {
  return  {
    auth: state.auth,
    sina: state.sina
  };
};

然后在你的组件内部访问它:

this.props.auth;
this.props.sina;

【讨论】:

  • 感谢我工作,但为什么这不起作用const mapStateToProps = state => { return { state.auth, state.sina }; };
  • 要创建对象字面量,您需要定义键和值。你试图做的不是有效的javascript
猜你喜欢
  • 2018-09-13
  • 2021-09-12
  • 1970-01-01
  • 2019-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多