Я создаю приложение 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));
Я хочу указать текущее местоположение, и это должно отображаться на карте и в полях адреса.Но я получаю эту ошибку: Инвариантное нарушение: превышена максимальная глубина обновления