ReactJS + ReactRouter:如何在Javascript中将字符串定义为对props的引用?

时间:2016-12-20 00:39:34

标签: react-jsx

将字符串作为道具放在Javascript中,如下所示:我怎样才能想出来?           绿色: {             房间:7           },           紫色:{             root:8           }         },       },       {         姓名:杰罗姆         星期一:{           黑色: {             房间:5           },           橙子: {             根:6           }         },         星期二:{           黄色: {             房间:7           },           紫色:{             root:8           }         },       },     ]

1 个答案:

答案 0 :(得分:0)

确保您的state.students上的过滤器确实返回了某些内容。

您的错误消息是未定义。

我不知道你的功能是做什么的,但是我可以看到它需要一些这样的数据并且它可以工作:

const state = {students: [{name: "beto", day: { color: "red"}}]};

const props = {params: {name: 'beto', day: { color: "red" }}};

mapStateToProps(state, props);

但正如你所看到的那样。我不确定你的数据结构是否真的如此。正如我所看到的,您的代码需要一种颜色,它是日对象的属性。

请记住,在这种情况下,您必须使用括号对象访问符号来正确获取数据。检查此代码:

let prop = 'sun'; 

let obj = {sun: 'red' }; 

console.log(obj.prop) // returns undefined
// explanation: returns undefined because obj does not have a prop named prop

console.log(obj[prop]) // returns red
// explanation: returns red, because it first solve the value of prop variable to 'sun' and then uses sun as prop name over your object. in the end it makes obj.sun instead of obj.prop