【问题标题】:Can't access array in nested immutable object无法访问嵌套不可变对象中的数组
【发布时间】:2017-01-26 12:18:32
【问题描述】:

这样做

render() {
        var elems = this.props.items.course_list;
        console.log(elems);
        return (
          <div>

          </div>
        )
      }

结果:

尝试通过以下方式访问 course_list:

render() {
        var elems = this.props.items.course_list;
        console.log(elems.course_list;);
        return (
          <div>

          </div>
        )
      }

未定义。

拥有包含数组 course_list 的对象 course_list,我无法访问此数组

此屏幕用于

var elems = this.props.items; console.log(elems);

【问题讨论】:

  • console.log() 中的; 无效,是不是拼写错误?
  • 是的,错字......但不重要的是它不起作用
  • 你可以试试elems['course_list']
  • elems 在您的代码中已经是 course_list
  • elems访问course_list,需要声明为elems = this.props.items

标签: javascript arrays object reactjs


【解决方案1】:

您可能需要将不可变对象转换为 javascript 对象以访问内部元素。在这种情况下使用getIn()。希望对你有帮助

var mystore = state.getIn(['incomeProfileList'])['course_list']; 
var copy = Object.assign({}, mystore); 
console.log(copy.course_list);

【讨论】:

  • 从“不可变”导入不可变
  • const mapStateToProps = function(state) { var mystore = state.toArray(); // console.log(mystore[6]); return { items: mystore[6] }; } 这就是我获取数据的方式
  • 我看过这个,我只是在想。也许你可以试试state.toJS()然后看看你是怎么退货的
  • console.log 必须声明什么?
  • 所以我说尝试 var mystore = state.toJS() 然后;尝试从 mystore 获取商品。 console.log(mystore) 并与我分享结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-12
  • 2022-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-29
  • 1970-01-01
相关资源
最近更新 更多