【发布时间】:2021-02-21 03:21:18
【问题描述】:
我在 react mapStatetoprops 函数中写了一个三元条件,同时返回我想写一些条件来完全填充返回数据的对象
const mapStateToProps = (state) => {
const { module: { module1, module4: { submodule } } } = state;
const newObj = { module1, module4Submodule: submodule };
return{
testmodule: newobj
}
}
newobj 返回
{
"module1": {
"foo": 1,
"bar": 2,
"anotherfoo": 5
},
"module4Submodule": {
"foo": 9,
"bar": 0,
"anotherfoo": 1
}
}
testmodule中要写入的条件是
如果 state.manage.module 包含“module1”或“module4Submodule”(需要检查 长度,空,未定义的模块1和模块4子模块的值)然后返回 "newobj" 否则返回 "somevalue"
这也是在return语句中写入条件或在此之前写入条件并返回值的好方法
【问题讨论】:
-
如果您不方便编写条件表达式,请使用
if语句。 -
@Bergi 只是想试试三元运算符,我可以用 if 和 else 条件,努力学习
-
那么请用
if/else发布工作代码,以便我们知道要转换什么代码。 -
obj来自哪里?应该是state吗?正如@Bergi 所说,用if / else编写它,然后用? :替换(但是我相信可读性是关键,代码不一定是单行代码,那是为了丑化)(再次取决于场景) -
@Icepickle 我已经编辑了代码,是的,它来自状态
标签: javascript reactjs ecmascript-6