【发布时间】:2017-05-09 06:22:47
【问题描述】:
我想在 location 减速器中添加一个 distanceFromPlaceValue 减速器 - 因为我有这种形状的 redux 存储:
import { Map } from 'immutable'
import { Dimensions } from 'react-native'
const searchForm = Map(
{
'categories': [],
// 'mealTypes': [],
'location': {
'locationInput': '',
'place': {},
'position': {},
'distanceFromPlaceValue': 10,
'distanceFromPlaceUnit': 'kilometer',
'autocompleteResults': {}
},
'keywords': ''
}
)
var { width, height } = Dimensions.get('window')
const ASPECT_RATIO = width / height
const LATITUDE = 19.0760
const LONGITUDE = 72.8777
const LATITUDE_DELTA = 0.01
const LONGITUDE_DELTA = LATITUDE_DELTA * ASPECT_RATIO
const region = Map(
{
region: {
latitude: LATITUDE,
longitude: LONGITUDE,
latitudeDelta: LATITUDE_DELTA,
longitudeDelta: LONGITUDE_DELTA
}
}
)
const map = Map(
region: region
)
const searchPage = Map(
{
'isMenuOpen': true
}
)
const initialState = Map(
{
searchForm: searchForm,
searchPage: searchPage,
map: map
}
)
export default initialState
而且我没有将 distanceFromPlaceValue 案例添加到 location 减速器中,并且我真的不想这样做 - 减速器变得太大了。
这是我的尝试:
const rootReducer = combineReducers(
{
searchForm: combineReducers(
{
keywords,
categories,
location: combineReducers({ location, distanceFromPlaceValue })
}),
searchPage,
map
}
)
收到此错误:
reducer 收到的先前状态是意外类型。 预期参数是 Immutable.Collection 的实例或 Immutable.Record 具有以下属性:“位置”, "distanceFromPlaceValue"。
我在 combineReducers 中做错了什么。我做错了什么?
【问题讨论】:
标签: javascript react-native redux react-redux