Импорт / Экспорт саг, контейнеров, редукторов - PullRequest
0 голосов
/ 07 октября 2018

В моем приложении у меня есть папка (Отзыв), чья index.js содержит приведенный ниже фрагмент кода.Поскольку я экспортирую все саги, редукторы, контейнеры, компоненты в index.js, а затем хотел бы импортировать их в app.js

import * as actions from './actions';
import * as components from './Components';
import * as constants from './constants';
import * as containers from './Containers';
import reducer from './reducers';
import * as sagas from './sagas';

export default {
    actions,
    components, 
    containers,
    constants,
    reducer, 
    sagas
};

Теперь, как я могу импортировать, скажем, только контейнеры в моем app.jsи когда я пишу

import Testimonial from './ignitus-Testimonial';

Вот как выглядит объект, когда я импортирую его и console.log() на своем app.js

Testimonail {actions: {…}, компоненты: {…}, контейнеры: {…}, константы: {…}, редуктор: ƒ,…}

, но я хочу использовать только containers в app.js из всего экспорта, который я сделал.

Ответы [ 3 ]

0 голосов
/ 07 октября 2018

Если предполагается, что экспорт будет использоваться отдельно, его не следует экспортировать как default export.

Они могут быть реэкспортированы как:

import * as actions from './actions';
import * as components from './Components';
import * as constants from './constants';
import * as containers from './Containers';
import reducer from './reducers';
import * as sagas from './sagas';

export {
    actions,
    components, 
    containers,
    constants,
    reducer, 
    sagas
};

Они могут бытьимпортируется отдельно как:

import { sagas } from './ignitus-Testimonial';

или вместе как:

import * as testimonial from './ignitus-Testimonial';

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

0 голосов
/ 07 октября 2018

Я решил это сам :) писать, как это решит проблему.<Testimonial.containers.TestimonialContainer />

0 голосов
/ 07 октября 2018

использовать именованный импорт, как показано ниже

import Testimonial ,{containers} from './ignitus-Testimonial';
...