我在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 }
};
答案 0 :(得分:3)
首先,mapStateToProps
不是反应物,它是redux物。为了使其正常工作,您只需要遵循state
示例,因为这是官方/基本界面。
const mapStateToProps = state => {
return {
authenticated: state.auth.token !== null,
locale: state.settings.locale
}
}
出现此问题的原因是,您认为state
和{ settings }
是不同的,但实际上在您的示例中它们是同一回事。然后只需搜索javascript的解构即可。