【发布时间】:2019-02-28 22:04:18
【问题描述】:
我在访问我从数据库中获取的状态内的数据时遇到问题, 这是我的状态:
state = {
inputDataArr: [],
inputDataArrTest: [
{
formID: 'test',
inputArr: [1, 2, 3],
labelArr: [4, 5, 6]
}
]
};
这是我从数据库中导入的集合:
{
"_id": {
"$oid": "5ba96b8ebffd923734090df4"
},
"inputArr": [
"value1",
"value2",
"value3"
],
"labelArr": [
"label1",
"label2",
"label3"
],
"formID": "5ba96b83bffd923734090df0",
"__v": 0
}
这是一个包含 2 个数组的对象, 这就是我获取它的方式:
componentWillMount() {
fetch('/api/datas')
.then(data => data.json())
.then(datas => {
const filterdDatas = datas.filter(
data => data.formID == this.props.match.params.id
);
this.setState(currentState => ({
inputDataArr: [...currentState.inputDataArr, ...filterdDatas]
}));
});
}
现在,当我在控制台记录 inputDataArr 和 inputDataArrTest 时,我得到一个数组,里面有一个对象, 完全相同的, 但是当我控制台登录 InputDataArrTest[0] 时,你可以在我的状态下看到,我可以看到数组和 formID, 但是当我控制台日志 inputDataArr[0] 时,我变得不确定,真的很沮丧,有人知道为什么吗?
【问题讨论】:
-
你在哪里做
console.log?在render方法中?在没有异步数据的情况下总会有第一次渲染
标签: arrays reactjs object fetch