1
我想清理我的mapStateToProps,使用ramda我只能使用r.pick返回一個咖喱功能通過傳遞我想要的attrs像這樣:試圖修改一個功能的「選擇」功能,使其返回一個修改後的對象的拾取器,以將redux不可變的映射狀態轉換爲道具
const mapStateToProps = R.pick(['board', 'nextToken'])
redux然後將狀態傳遞給返回函數。
我想要做的是首先修改狀態,因爲我的狀態是不可變的映射,所以我需要通過選擇我的狀態轉換爲計劃js。
我可以用下面的方法做到這一點,但我相信在功能上有一個更乾淨的方式。任何人都可以看到簡單嗎?
import {Map} from 'immutable'
import R from 'ramda'
const immutable_state = Map({
name: 'alice',
age: 30
})
const pick_from_immutable = (attrs, obj) =>
// accepts a list of attrs
// returns a function that accepts an immutable and returns its attrs defined by attrs, also be nice to just return the value if called with an immutable 2nd arg
obj ?
R.pick(attrs, obj.toJS()) :
(imm) => R.pick(attrs, imm.toJS())
const pick_age_from_immutable = pick_from_immutable(['age'])
console.log(pick_age_from_immutable(immutable_state)) // -> { age: 30 }
const mapStateToProps = pick_age_from_immutable