如果没有设置默认值,则按id反应过滤器状态

时间:2016-02-18 05:19:05

标签: javascript reactjs

我的状态如下:

Object {active: false, class: "myclass", id: 1}

我希望在这里获得价值:

{this.state.filter(cls => cls.id==1) ? 'anyclass'}

我希望如果id值为1,那么它应该返回myclass,如果没有,那么我想要一些像anyclass这样的dafault值

我该如何过滤?

谢谢

2 个答案:

答案 0 :(得分:0)

{this.state.id === 1 ? this.state.class : 'anyclass'}怎么样?

答案 1 :(得分:0)

我建议你使用immutable.js提供的地图数据结构:

import {List, Map} from 'immutable'; // refer the require 

var map = Map(data.reduce(function(previous, current) 
{ 
    previous[ current._id ] = current;
    return previous;
}, {}));

//then, you can directly fetch with id, and check your logic:
var id='param'
state.filter.get(id) === 1 ? state.class : 'anyclass'