我想将用户的GPS位置存储在我的redux-store中。为了得到这些坐标,我用这个:
navigator.geolocation.watchPosition( (data) => {
//
}, null, {
timeout: 60000,
distanceFilter: 10
});
我有一个位置减速器:
import createReducer from '../lib/createReducer'
import * as types from '../actions/types'
export const position = createReducer({}, {
[types.SET_POSITION](state, action) {
return {
latitude: action.latitude,
longitude: action.longitude
};;
}
})
并采取行动:
import * as types from './types'
export function watchPosition() {
return (dispatch, getState) => {
???
}
}
export function setPosition({ latitude, longitude }) {
console.log('JA');
return {
type: types.SET_POSITION,
latitude,
longitude
}
}
我想在我的主屏幕中初始化这个watchPosition。我没有绑定那里的动作(没有connect())。
如何在新职位可用时调用此操作并启动reducer?
答案 0 :(得分:1)
您可以在您的commponent或其他执行代码处导入您的商店对象,然后使用store.dispatch(() => { return{ type: ACTION_TYPE, payload: data } })
。
或者您可以使用reduxThunk中间件触摸商店:store.dispatch({ type: ACTION_TYPE, payload: data })
。
希望这能帮到你