Как исправить эту ошибку при использовании React Context - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь реализовать React-context в своем приложении, чтобы избавиться от бурения реквизита. При создании contextProvider я получаю следующую ошибку:
"Тип элемента недопустим: ожидал строку (для встроенных компонентов) или класс / функцию (для составных компонентов), но получил: undefined. Скорее всего, вы забыли экспортировать компонент из файла, в котором он определен, или вы могли смешать up default и именованный импорт ".

const SharedThemeContext = React.createContext ();

export class SharedThemeProvider extends Component {

  static propTypes = {
    children: PropTypes.func.isRequired
  }
  constructor(props) {
    super(props);

    this.state = {
      isOpen: false,
      message: '',
    };
  }

  openSnackbar = (message) => {
    this.setState({
      message,
      isOpen: true,
    });
  };

  closeSnackbar = () => {
    this.setState({
      message: '',
      isOpen: false,
    });
  };

  render() {
    const { children } = this.props;

    return (
      <SharedThemeContext.Provider
        value={{
          openSnackbar: this.openSnackbar,
          closeSnackbar: this.closeSnackbar,
          snackbarIsOpen: this.state.isOpen,
          message: this.state.message,
        }}
      >

        {children}
      </SharedThemeContext.Provider>
    );
  }
}

export const SharedThemeConsumer = SharedThemeContext.Consumer;

1 Ответ

0 голосов
/ 03 мая 2019

Предоставляют ли предупреждения какую-либо информацию?

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