javascript - React 不渲染来自回流存储的数据

标签 javascript reactjs refluxjs

我的代码在从商店传递数据后无法呈现,因此遇到了问题。

我能够 console.log() 来自商店的数据,但数据未显示在 DOM 中。

这是我的组件的样子

var ItemList = React.createClass({
  mixins: [Reflux.connect(SearchStore,"data")],

  getItems() {
    var items;
    var self = this;

    if(typeof self.state.data !== 'undefined' && self.state.data !== '404') {
      items = self.state.data;              
      for(var key in items) {
        if (items.hasOwnProperty(key)) {
          items[key].map(function(obj, key){
            return(
              <h1>Test Test</h1>
            );
          })
        }
      }
    } else {
      return(<div></div>);
    }
  },

  render() {
    var self = this;
    return (
      <div id="search-results">
        {self.getItems()}
      </div>
    );
  }
});

export default ItemList;

数据在从商店传递后进入,我可以读取数据并能够渲染空 div,但带有文本的 div 根本没有渲染。我的目的是获取传递的数据并将它们作为 Prop 传递给另一个组件。

任何解决这个问题的帮助都会非常好,因为在过去的几个小时里我一直坚持这个问题。

最佳答案

问题是 getItems 不返回渲染项目的数组。所以我会把它改成这样:

var ItemList = React.createClass({

  mixins: [Reflux.connect(SearchStore,"data")],

  renderItems() {
    var output = [];

    if (typeof this.state.data !== 'undefined' && this.state.data !== '404') {
      for (var key in this.state.data) {
        if (this.state.data.hasOwnProperty(key)) {
          // should use each or forEach instead of map as we don't do anything
          // with returned array but ignoring that issue
          this.state.data[key].map(function(obj, key){
            output.push(<h1>Test Test</h1>);
          });
        }
      }

      return output;
    } else {
      return <div/>;
    }
  },

  render() {
    return (
      <div id="search-results">
      {
        this.renderItems()
      }
      </div>
    );
  }

});


export default ItemList;

关于javascript - React 不渲染来自回流存储的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30058563/

相关文章:

javascript - ekko-lightbox 和从 PHP 脚本返回为 BLOB 的图像

reactjs - 如何使用 Redux 文档中解释的这个高阶组件?

reactjs - 如何使用 TailwindCSS 设置光标热点

javascript - React Js,Reflux 在 ajax 响应之前渲染

javascript - 使用 react-navigation AppContainer 保持状态

javascript - 唯一影响同一个div类?

javascript - 选择列表值的 ColdFusion URL 变量

javascript - React JS - 路由 - 元素类型无效

node.js - 不确定refluxjs中的.listen()到底做了什么

javascript - refluxjs 中的操作方法