Получение именованного экспорта для работы с redux - PullRequest
2 голосов
/ 18 марта 2019

Как описано в этом сообщении в блоге , именованные экспорты имеют проблему с доступом к хранилищу приставок. Это вообще невозможно, или я могу что-то сделать с моим компонентом, чтобы он оставался в качестве именованного экспорта и по-прежнему имел доступ к хранилищу избыточных файлов?

Я изменил именованный экспорт на экспорт по умолчанию (и изменил импорт), и мой компонент работает и получает доступ к состоянию избыточности. Я спрашиваю только потому, что хочу, чтобы мои компоненты были закодированы в соответствии с единым стандартом, а у меня есть все остальное как именованные экспорты.

1 Ответ

2 голосов
/ 18 марта 2019

Я думаю, вы неправильно прочитали, что говорится в этом посте. В именованном экспорте нет ничего, что препятствовало бы доступу компонентов к хранилищу Redux.

Что означает , так это то, что это общий шаблон для записи подключенных компонентов:

// named export for the "plain" component
export class MyComponent extends React.Component {}

// default export for the "connected" wrapper
export default connect()(MyComponent)

Как и любая часть вашей кодовой базы, вам нужно написать операторы импорта, которые соответствуют тому, как переменные были экспортированы из другого файла. Таким образом, в этом случае, если вы хотите использовать подключенный компонент-оболочку, вам нужно выполнить импорт по умолчанию: import TheConnectedComponent from "./MyComponent".

Впрочем, это тоже вполне нормально:

// named export for the plain component
export class MyComponent extends React.Component {}

// ALSO a named export for the connected wrapper
export const ConnectedMyComponent = connect()(MyComponent);

В этом случае ваш файл-потребитель должен будет выполнить import {ConnectedMyComponent} from "./MyComponent".

Итак, речь идет не о «именном экспорте, работающем с Redux» - речь идет о том, чтобы убедиться, что вы импортируете и экспортируете переменные в соответствии с подходящими способами.

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