#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;