使用axios.get映射json的问题

时间:2017-11-10 05:20:19

标签: json reactjs axios

我的名字是Jose,我正在尝试在数组中获取数据Json以显示反应。我的json文件是:

[{"nid":"460","title":"Prueba local","parent":"null"},
{"nid":"458","title":"Otra prueba","parent":"null"}...

我的js文件是:

import React from 'react';
import ReactDOM from 'react-dom';
import axios from 'axios'
import './index.css';

class Ramas extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      data: []
    };
  }

  componentDidMount(){
    axios
      .get('../proceso.json')
      .then(({ data })=> {
        this.setState({ 
          data
        });
      })
      .catch((err)=> {console.log('no recibido')})
  }

我没有得到任何结果。我感谢任何帮助。

我的文件夹结构: react_root -nodemodules -上市 --index.html -src --index.js

json文件位于vps ... / fuentes / proceso.json中。这是我可以通过URL访问它的另一台服务器

谢谢

1 个答案:

答案 0 :(得分:2)

此处不需要axios

axios的实际用途是当您想要从API或服务器中获取数据时,如果proceso.js位于不同的服务器上,则可以使用它。

您可以做的是创建一个文件;

// proceso.js

export default [
    {"nid":"460","title":"Prueba local","parent":"null"},
    {"nid":"458","title":"Otra prueba","parent":"null"}
    ...
]

然后使用它:

import proceso from 'path/to/proceso.js';

componentDidMount(){
  this.setState({ 
    data : proceso
  });
}

如果服务器正在更新您的json文件,则将该文件放在公共文件夹中,然后尝试通过公用文件夹路径调用axios,

因为一旦生成了构建,您将无法访问其他目录,例如src目录