【问题标题】:Problems to map a json with axios.get使用 axios.get 映射 json 的问题
【发布时间】:2017-11-10 05:20:19
【问题描述】:

我的名字是 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')})
  }

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

我的文件夹结构: 反应根 -节点模块 -上市 --index.html -src --index.js

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

谢谢

【问题讨论】:

  • 能否分享一下文件夹结构和proceso.json的放置位置?
  • 我的文件夹结构:

标签: json reactjs axios


【解决方案1】:

这个不需要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 目录

【讨论】:

  • 谢谢 Vivek,但我的 json 文件必须由生产中的另一台服务器更新,我必须使用 axios。请原谅我的不精确。
猜你喜欢
  • 1970-01-01
  • 2013-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-05
  • 1970-01-01
  • 2020-12-29
  • 1970-01-01
相关资源
最近更新 更多