Почему нельзя экспортировать PureComponent - PullRequest
0 голосов
/ 10 марта 2020

У меня это работает:

export class FormAuto extends React.PureComponent {
   constructor(props) {
     ...
   }
  ....
}

Я импортирую композицию следующим образом: import { FormAuto } from './FormAuto'

Но я хочу сделать это следующим образом, чтобы использовать connect из избыточного числа:

class FormAuto extends React.PureComponent {
   constructor(props) {
     ...
   }
  ....
}
export default connect(mapStateToProps, mapDispatchToProps)(FormAuto);

Но у меня есть эта ошибка:

Модуль ../../FormAuto не имеет экспортированного члена 'FormAuto'

Если я импортируйте композицию следующим образом: import FormAuto from './FormAuto' компонент больше не отображается.

Можете ли вы мне помочь?

1 Ответ

3 голосов
/ 10 марта 2020

Проблема не связана с PureComponent. Это связано с тем, что вы изменили экспорт с с именем на экспорт по умолчанию .

У вас есть два варианта.

  1. Использовать импорт по умолчанию
import FormAuto from './path/to/FormAuto'
Выполните именованный экспорт:
// Either the const or the class will need to be renamed in this scenario
export const FormAuto = connect(mapStateToProps, mapDispatchToProps)(FormAuto);

Суть в том, что вы должны поддерживать их согласованность.

Для справки:

По умолчанию

export default MyComponent

// The import name can be anything you choose. 
// For clarity it may be preferred to use the component name
import MyComponent from './MyComponent';

Имени

export MyComponent

import { MyComponent } from './MyComponent';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...