Проблема с хранилищем при перемещении actionTypes в файл констант - PullRequest
0 голосов
/ 21 февраля 2019

Мой магазин работает отлично, когда я определяю свои actionTypes в верхней части action.js, но когда я перемещаю их в свой собственный файл констант ActionTypes.js и импортирую, мой редукционный магазин перестает работать.

Mystore работает, когда action.js выглядит как

export const CHANGE_TEXT = 'CHANGE_TEXT';

// actionCreators
export function changeText(text) {
  return { 
    type: CHANGE_TEXT,
    text };
}

Но когда я перемещаю их в их собственный файл констант, все перестает работать:

action.js

import { CHANGE_TEXT } from '../constants/ActionTypes'

// actionCreators
export function changeText(text) {
   return { 
     type: CHANGE_TEXT,
     text };
    }

ActionTypes.js

// actionTypes
export const CHANGE_TEXT = 'CHANGE_TEXT';

Нет ошибки с путем импорта ActionTypes.js поскольку я не получаю никаких ошибок или вывод на консоль, предлагающий ошибку.Просто нет элемента в магазине.

Может быть важно отметить, что я не зарегистрировал консоль в магазине, я выводил в компоненте Text как объект javascript (я думаю, это то, что он называется, извините), например.{Store.getState (). ChangeText}.Может быть ошибка в том, что я только что написал, когда я редактирую этот вопрос на своем мобильном телефоне и ухожу из памяти.Но это работает, когда у меня есть все это в одном файле action.js, но когда я перемещаю actionTypes в файл констант, это не так.

1 Ответ

0 голосов
/ 21 февраля 2019

Хорошо, это мой выстрел в темноте.Если бы мне пришлось угадывать, что здесь происходит, это было бы так:

Обратите внимание, что со старым кодом, который вы делали:

export const CHANGE_TEXT = 'CHANGE_TEXT';

из файла action.js, да?И теперь вы импортируете CHANGE_TEXT из другого файла в action.js.

Однако вы больше не экспортируете CHANGE_TEXT из action.js, и до того, как он был экспортирован оттуда, верно?

Итак, давайте представим, что в вашем редукторе вы забыли обновить импорт и что из редуктора вы все еще импортируете действие из action.js.Что бы это случилось в этом случае?Что ж, импорт не завершится с ошибкой, он просто импортирует CHANGE_TEXT как неопределенное, и редуктор перестанет работать, потому что он не будет соответствовать type действия, потому что вы будете пытаться сопоставить его с undefined.

Если бы мне пришлось сделать предположение, это было бы это ... Но это могли быть тысячи других вещей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...