Как узнать текущее местоположение в Redux-форме в приложении React? - PullRequest
0 голосов
/ 03 июля 2019

Я создаю приложение React Native, где мне нужно иметь форму с некоторыми полями и карту с текущим местоположением, полями адреса и камерой.Я использую Redux-форму для этого.

Я создал отдельный редуктор для получения геолокации.Я использовал Redux-Thunk для асин создателя действий.& попытался передать состояние геолокации в качестве начального значения главной форме, которая использует избыточную форму, но выдает ошибку «Максимальное обновление превышает ошибку»

Это мой создатель действий для геолокации.:

export const getCurrentLocation = () => {
  return dispatch => {
    const geolocation = navigator.geolocation;
    geolocation.getCurrentPosition((position) => {
        console.log(position.coords);
        dispatch({
            type: GET_LOCATION,
            payload: {
                lat: position.coords.latitude,
                long: position.coords.longitude
            }
        });
    });
  }
}

Редуктор для местоположения:

export const getLocationReducer = (oldState = initialState, action) =>       {
   if(action.type === 'GET_LOCATION')
   {
     return oldState;
   }
  return oldState;
  }

Конфигурация магазина:

const rootReducer = combineReducers(
{
    changeSlideReducer: changeSlideReducer,
    slideReducer: slideReducer,
    formReducer : requestSubmitReducer,
    location :getLocationReducer,
    form : FormReducer
});

export default store = createStore(rootReducer, applyMiddleware(thunk));

и, наконец, в форме, которую я установил с начальными значениями:

const mapStateToProps = (state, props) => ({
   initialValues: state
})

export default connect(mapStateToProps)(reduxForm(
   {
     form: 'RequestForm', 
     enableReinitialize: true
  })
 (RequestForm));

Я хочу указать текущее местоположение, и это должно отображаться на карте и в полях адреса.Но я получаю эту ошибку: Инвариантное нарушение: превышена максимальная глубина обновления

...