сохраните обновленное значение в redux

#reactjs #react-native #redux

#реагирует на #реагировать-родной #возвращение

Вопрос:

я получил два значения, т. е. компанию и идентификатор из навигации.

 let id = props.route.params.oved.toString(); console.log("id--gt;",id); let company = props.route.params.company.toString(); console.log("company---gt;",company);  

у меня есть два значения в виде целого числа, как это:—

 id--gt;1  comapny--gt;465  

введите описание изображения здесь

Описание изображения:—

если я ввожу 1 в этот текстовый ввод и нажимаю на карту(допустим, первую карту, т. е. 465, тогда я получаю эти два значения в навигации, как в интергере, о котором я упоминал above.so каждый раз, когда я получаю обновленные значения.

я получаю обновленные значения из навигации.

поэтому я хочу сохранить эти значения в redux.

action.js:—

 import { CHANGE_SELECTED_COMPANY } from "./action-constants"; export const changeCompany = (updatedCompany, updatedId) =gt; {  return {  type: CHANGE_SELECTED_COMPANY,  updatedCompany,  updatedId,  }; };  

reducer.js:—

 import { CHANGE_SELECTED_COMPANY } from "../actions/action-constants";  const initialState = {  company: "",  id: "", }; const changeCompanyReducer = (state = initialState, action) =gt; {  switch (action.type) {  case CHANGE_SELECTED_COMPANY:  return {  company: {  company: action.updatedCompany,  id: action.updatedId,  },  };    }  return state; };  export default changeCompanyReducer;  

congigure-store.js:—

 import changeCompanyReducer from "./reducers/change-company-reducer"; const rootReducer = combineReducers({changeCompanyReducer});  

Как я могу сохранить значения обновлений, полученные из навигации в Redux?

не могли бы вы, пожалуйста, написать код для redux??

Комментарии:

1. Пожалуйста, отредактируйте вопрос, чтобы ограничить его конкретной проблемой с достаточной детализацией для определения адекватного ответа.

Ответ №1:

Во-первых, я бы рекомендовал написать ваше действие следующим образом:

 import { CHANGE_SELECTED_COMPANY } from "./action-constants"; export const changeCompany = (payload) =gt; {  return {  type: CHANGE_SELECTED_COMPANY,  payload // inside payload you can pass: { updatedCompany: '...', updatedId: '...' }  }; };  

А затем вам нужно изменить свой редуктор с того, что вы написали, на этот:

 import { CHANGE_SELECTED_COMPANY } from "../actions/action-constants";  const initialState = {  company: "",  id: "", }; const changeCompanyReducer = (state = initialState, action) =gt; {  switch (action.type) {  case CHANGE_SELECTED_COMPANY:  const { updatedCompany, updatedId } = action.payload;    // notice the changes I made in the return statment.  return {  ...state,  company: updatedCompany,  id: updatedId  };    // you can return the state here  default:  return state;  } };  export default changeCompanyReducer;