Реактивная модальная ошибка при обновлении с Реакта 14 до Реакта 16 - PullRequest
0 голосов
/ 17 октября 2018

React-модал отлично работал для нас в React 14.

Мы обновились до React 16 и получаем следующую ошибку.

invariant.js: 38 Uncaught Error: Modal.render (): должен быть возвращен действительный элемент React (или ноль).Возможно, вы вернули undefined, массив или другой недопустимый объект

Мы используем точный пример кода из GitHub и переустановили react-modal.Есть идеи?

app.js:

import React from 'react';
import ReactDOM from 'react-dom';
import ExampleModal from './components/example_modal.js';

ReactDOM.render(

  <ExampleModal />
  , document.querySelector('#publish-hook'));

example_modal.js:

import React from 'react';
import { Component} from 'react'
import ReactModal from "react-modal";

export default class ExampleModal extends Component {
  constructor () {
    super();
    this.state = {
      showModal: true
    };

    this.handleOpenModal = this.handleOpenModal.bind(this);
    this.handleCloseModal = this.handleCloseModal.bind(this);
  }

  handleOpenModal () {
    this.setState({ showModal: true });
  }

  handleCloseModal () {
    this.setState({ showModal: false });
  }

  render () {
    return (
      <div>
        <button onClick={this.handleOpenModal}>Trigger Modal</button>

{
        <ReactModal 
           isOpen={this.state.showModal}
           contentLabel="Minimal Modal Example"
        >
          <button onClick={this.handleCloseModal}>Close Modal</button>
        </ReactModal>
       }

      </div>
    );
  }
}

const props = {};

//ReactDOM.render(<ExampleApp {...props} />, document.getElementById('main'))
...