Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过从json文件中提取数据将键值对数组加载到状态?_Javascript_Reactjs_State - Fatal编程技术网

Javascript 如何通过从json文件中提取数据将键值对数组加载到状态?

Javascript 如何通过从json文件中提取数据将键值对数组加载到状态?,javascript,reactjs,state,Javascript,Reactjs,State,我使用npm组件React可排序树来显示从.json文件(data.json)中提取的一些数据: 可排序树组件需要状态为的treeData数组,其组成如下: treeData: [ {title: 'Arizona'}, {title: 'Alabama'}, // ... ] 但我不想硬编码这些值,而是想从.json文件中提取它们。我已尝试使用键-值对数组,其中键为“title”,值为data.data[I].name,但我无法将其推送到状态: setTree () { th

我使用npm组件React可排序树来显示从.json文件(data.json)中提取的一些数据:

可排序树组件需要状态为的treeData数组,其组成如下:

treeData: [
  {title: 'Arizona'},
  {title: 'Alabama'},
  // ...
]
但我不想硬编码这些值,而是想从.json文件中提取它们。我已尝试使用键-值对数组,其中键为“title”,值为data.data[I].name,但我无法将其推送到状态:

setTree () {
  this.setState({
    {for(var i; i < data.data.length; i++){
      var title = "title";
      var name = data.data[i].name;
      var pushVal = {};
      pushVal[title] = name;
      treeData.push(pushVal);
    }}
  }
}
setTree(){
这是我的国家({
{for(var i;i
您可以尝试:

const treeData = data.data.map(item => ({ title: item.name }));
您可以尝试以下方法:

const treeData = data.data.map(item => ({ title: item.name }));

有两件事你应该看看地图原型和解构,让事情变得简单

解构只是从传递的项中选取参数

数组上的映射只是在每个项上循环,并返回一个新的修改项数组

const json={
“数据”:[{
“id”:空,
“名称”:“亚利桑那州”,
“类型”:“区域”,
},
{
“id”:空,
“姓名”:“阿拉巴马州”,
“类型”:“区域”,
}
]
}
consttree=json.data.map(({name:title})=>({title}))

console.log(tree)
有两件事你应该看看地图原型和解构,让事情变得简单

解构只是从传递的项中选取参数

数组上的映射只是在每个项上循环,并返回一个新的修改项数组

const json={
“数据”:[{
“id”:空,
“名称”:“亚利桑那州”,
“类型”:“区域”,
},
{
“id”:空,
“姓名”:“阿拉巴马州”,
“类型”:“区域”,
}
]
}
consttree=json.data.map(({name:title})=>({title}))

console.log(tree)
别忘了新的属性名。
{name}
应该是
{title:name}
。不完全是我的意思,但您的解决方案也可以。我在
({name})=>({title:name})
行中考虑了更多,不知道您可以解构并分配给一个新变量(就像您对更改所做的那样).每天学习一些东西。很好的解决方案。是的,它相当有表现力:)不要忘记新的属性名称
{name}
应该是
{title:name}
。这和我的意思不太一样,但您的解决方案也可以。我在
({name})=>({title:name})
的行中考虑了更多,不知道您可以解构并分配给新变量(就像您在更改时所做的那样)。每天学习一些东西。很好的解决方案。是的,它很有表现力:)