簡體   English   中英

在沒有bindActionCreator的情況下調用redux操作

[英]Calling redux actions without bindActionCreator

我想在Redux商店中存儲用戶的GPS位置。 為了得到坐標,我使用了這個:

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())。

當新位置可用時,如何調用該動作並初始化減速器?

您可以將存儲對象導入到您的組件或其他執行代碼中,然后使用store.dispatch(() => { return{ type: ACTION_TYPE, payload: data } })

或者您可以使用reduxThunk中間件來觸摸商店: store.dispatch({ type: ACTION_TYPE, payload: data })

希望這對您有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM