2017-08-07 121 views
1

我试图将状态的两个部分映射到我的组件。将多个状态映射到一个组件的方式不错吗?它的工作原理,但我不知道是否让你的专家嘲笑我的代码!我的意思是你还有另一种方式吗?将多个状态映射到组件

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

这个还曾:

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

'常量mapStateToProps =({权威性,新浪})=>( {auth,sina})' – madox2

+0

@ madox2 yours worked,but then try to this'const mapStateToProps = state =>({state.auth,state.sina});'这与你的一样,但是会抛出错误,为什么?他们是一样的不是吗? – farmcommand2

+0

不要让自己与这种奇特的语法混淆。它是对象解构和财产简写的结合。为开始只使用对象文字:) – madox2

回答

3

mapStateToProps是常规的JavaScript功能。您可以返回对象文本与任何你想要的属性,例如:

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

,然后访问它的组件内:

this.props.auth; 
this.props.sina; 
+0

谢谢我工作,但为什么这不起作用'const mapStateToProps = state => { return { state.auth, state.sina }; };' – farmcommand2

+0

创建对象字面量您需要定义键和值。你试图做的是不是有效的JavaScript – madox2