1. <tfoot id='QiZFf'></tfoot>

    2. <small id='QiZFf'></small><noframes id='QiZFf'>

    3. <legend id='QiZFf'><style id='QiZFf'><dir id='QiZFf'><q id='QiZFf'></q></dir></style></legend>

    4. <i id='QiZFf'><tr id='QiZFf'><dt id='QiZFf'><q id='QiZFf'><span id='QiZFf'><b id='QiZFf'><form id='QiZFf'><ins id='QiZFf'></ins><ul id='QiZFf'></ul><sub id='QiZFf'></sub></form><legend id='QiZFf'></legend><bdo id='QiZFf'><pre id='QiZFf'><center id='QiZFf'></center></pre></bdo></b><th id='QiZFf'></th></span></q></dt></tr></i><div id='QiZFf'><tfoot id='QiZFf'></tfoot><dl id='QiZFf'><fieldset id='QiZFf'></fieldset></dl></div>
        <bdo id='QiZFf'></bdo><ul id='QiZFf'></ul>

      将本地文件中的 json 数据加载到 React JS 中

      loading json data from local file into React JS(将本地文件中的 json 数据加载到 React JS 中)

            <legend id='vb96g'><style id='vb96g'><dir id='vb96g'><q id='vb96g'></q></dir></style></legend>
            <i id='vb96g'><tr id='vb96g'><dt id='vb96g'><q id='vb96g'><span id='vb96g'><b id='vb96g'><form id='vb96g'><ins id='vb96g'></ins><ul id='vb96g'></ul><sub id='vb96g'></sub></form><legend id='vb96g'></legend><bdo id='vb96g'><pre id='vb96g'><center id='vb96g'></center></pre></bdo></b><th id='vb96g'></th></span></q></dt></tr></i><div id='vb96g'><tfoot id='vb96g'></tfoot><dl id='vb96g'><fieldset id='vb96g'></fieldset></dl></div>
          1. <small id='vb96g'></small><noframes id='vb96g'>

              <tbody id='vb96g'></tbody>
            • <bdo id='vb96g'></bdo><ul id='vb96g'></ul>
              <tfoot id='vb96g'></tfoot>

              • 本文介绍了将本地文件中的 json 数据加载到 React JS 中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                我有一个 React 组件,我想从文件中加载我的 JSON 数据.控制台日志当前不起作用,即使我将变量 data 创建为全局变量

                '使用严格';var React = require('react/addons');//从文件中加载 JSON 数据变量数据;var oReq = new XMLHttpRequest();oReq.onload = reqListener;oReq.open("get", "data.json", true);oReq.send();函数 reqListener(e) {数据 = JSON.parse(this.responseText);}控制台.log(数据);var List = React.createClass({获取初始状态:函数(){返回{数据:this.props.data};},渲染:函数(){var listItems = this.state.data.map(function(item) {var eachItem = item.works.work;var photo = eachItem.map(function(url) {返回 (<td>{url.urls}</td>)});});返回 <ul>{listItems}</ul>}});var redBubble = React.createClass({渲染:函数(){返回 (

                <列表数据={数据}/></div>);}});module.exports = redBubble;

                理想情况下,我更愿意这样做,但它不起作用 - 它会尝试将 ".js" 添加到文件名的末尾.

                var data = require('./data.json');

                任何关于最佳方式的建议,最好是React"方式,将不胜感激!

                解决方案

                您正在打开一个 异步连接,但是您已经编写了代码,就好像它是同步的一样.reqListener 回调函数不会与您的代码同步执行(即在 React.createClass 之前),但只会在您的整个代码段运行并收到响应之后执行从您的远程位置.

                除非您处于零延迟的量子纠缠连接上,否则在您的所有语句都运行之后,这是好吧.例如,要记录接收到的数据,您可以:

                函数 reqListener(e) {数据 = JSON.parse(this.responseText);控制台.log(数据);}

                我没有在 React 组件中看到 data 的使用,所以我只能从理论上提出这个建议:为什么不在回调中更新您的组件?

                I have a React component and I want to load in my JSON data from a file. The console log currently doesn't work, even though I'm creating the variable data as a global

                'use strict';
                
                var React = require('react/addons');
                
                // load in JSON data from file
                var data;
                
                var oReq = new XMLHttpRequest();
                oReq.onload = reqListener;
                oReq.open("get", "data.json", true);
                oReq.send();
                
                function reqListener(e) {
                    data = JSON.parse(this.responseText);
                }
                console.log(data);
                
                var List = React.createClass({
                  getInitialState: function() {
                    return {data: this.props.data};    
                  },
                  render: function() {
                    var listItems = this.state.data.map(function(item) {
                        var eachItem = item.works.work;        
                
                        var photo = eachItem.map(function(url) {
                            return (
                                <td>{url.urls}</td> 
                            )
                        });
                    });
                    return <ul>{listItems}</ul>
                  }
                });
                
                var redBubble = React.createClass({
                    render: function() {
                      return (
                        <div>
                          <List data={data}/>          
                        </div>
                      );
                    }
                  });
                
                module.exports = redBubble;
                

                Ideally, I would prefer to do it something like this, but it's not working - it tries to add ".js" onto the end of the filename.

                var data = require('./data.json');
                

                Any advice on the best way, preferably the "React" way, would be much appreciated!

                解决方案

                You are opening an asynchronous connection, yet you have written your code as if it was synchronous. The reqListener callback function will not execute synchronously with your code (that is, before React.createClass), but only after your entire snippet has run, and the response has been received from your remote location.

                Unless you are on a zero-latency quantum-entanglement connection, this is well after all your statements have run. For example, to log the received data, you would:

                function reqListener(e) {
                    data = JSON.parse(this.responseText);
                    console.log(data);
                }
                

                I'm not seeing the use of data in the React component, so I can only suggest this theoretically: why not update your component in the callback?

                这篇关于将本地文件中的 json 数据加载到 React JS 中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                【网站声明】本站部分内容来源于互联网,旨在帮助大家更快的解决问题,如果有图片或者内容侵犯了您的权益,请联系我们删除处理,感谢您的支持!

                相关文档推荐

                Browser waits for ajax call to complete even after abort has been called (jQuery)(即使在调用 abort (jQuery) 之后,浏览器也会等待 ajax 调用完成)
                JavaScript innerHTML is not working for IE?(JavaScript innerHTML 不适用于 IE?)
                XMLHttpRequest cannot load, No #39;Access-Control-Allow-Origin#39; header is present on the requested resource(XMLHttpRequest 无法加载,请求的资源上不存在“Access-Control-Allow-Origin标头) - IT屋-程序员软件开发技术分
                Is it possible for XHR HEAD requests to not follow redirects (301 302)(XHR HEAD 请求是否有可能不遵循重定向 (301 302))
                NETWORK_ERROR: XMLHttpRequest Exception 101(NETWORK_ERROR:XMLHttpRequest 异常 101)
                XMLHttpRequest 206 Partial Content(XMLHttpRequest 206 部分内容)

                    <legend id='uBb4Y'><style id='uBb4Y'><dir id='uBb4Y'><q id='uBb4Y'></q></dir></style></legend>
                      <tbody id='uBb4Y'></tbody>
                    <tfoot id='uBb4Y'></tfoot>
                    <i id='uBb4Y'><tr id='uBb4Y'><dt id='uBb4Y'><q id='uBb4Y'><span id='uBb4Y'><b id='uBb4Y'><form id='uBb4Y'><ins id='uBb4Y'></ins><ul id='uBb4Y'></ul><sub id='uBb4Y'></sub></form><legend id='uBb4Y'></legend><bdo id='uBb4Y'><pre id='uBb4Y'><center id='uBb4Y'></center></pre></bdo></b><th id='uBb4Y'></th></span></q></dt></tr></i><div id='uBb4Y'><tfoot id='uBb4Y'></tfoot><dl id='uBb4Y'><fieldset id='uBb4Y'></fieldset></dl></div>
                      • <bdo id='uBb4Y'></bdo><ul id='uBb4Y'></ul>

                        <small id='uBb4Y'></small><noframes id='uBb4Y'>