Реагируйте на Native Redux, не меняйте состояние. Я не понимаю, почему - PullRequest
0 голосов
/ 15 мая 2018

Я использую Redux и Redux-Thunk долгое время, сейчас я пробую этот простой рабочий процесс, но не работаю с ожидаемым значением

actioncreator =>

export const openguidelist = () => {
  return dispatch => {
    dispatch({ type: OPEN_GUIDE_LIST });
  };
};

Мой редуктор =>

    const INITIAL_STATE = {
      guideopen: true
    };
    export default (state = INITIAL_STATE, action) => {
      switch (action.type) {
        case OPEN_GUIDE_LIST:
          return { ...state, guideopen: true ? false : true };
        default:
          return state;
      }
};

и триггер actioncreator, мой компонент onPress, в этом нет ничего плохого, кстати, я смотрю на реакцию-нативный-отладчик, начальная работа работает, измените guideopen на true, на мой ожидаемый, тогда guideopen никогда не изменится, всегда вернет false, что я ожидание - это изменение значения каждый раз, когда срабатывает нажатие, но редукция не просто изменяет состояние в первый раз, и, кроме того, ничего не меняет, возвращаемая направляющая всегда возвращает одно и то же значение (false). Я не понимаю, почему, пожалуйста, объясните мне

1 Ответ

0 голосов
/ 15 мая 2018

true ? false : true всегда будет равняться false.

Это должно быть guideopen: !state.guideopen.

Кроме того, если guideopen является единственным состоянием в редукторе, вы можете удалить вложенность и использовать логическое значение непосредственно в качестве состояния:

(state = false, action) {
...
case OPEN_GUIDE_LIST: 
  return !state;
...