2

我正在尝试为我的 React 应用程序创建模态窗口,并且我正在关注教程。

但是,我收到以下错误

Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components). Check the render method of `Modal`.

这是我的代码

import React from 'react'
import {ReactCSSTransitionGroup} from 'react-addons-css-transition-group'

const Modal = React.createClass ({

    render() {

        if (this.props.isOpen) {
            return (
                <ReactCSSTransitionGroup transitionName={this.props.transitionName}>
                    <div className="modal">
                        {this.props.children}
                    </div>
                </ReactCSSTransitionGroup>
            )    
        }

        else {
            return (
                <ReactCSSTransitionGroup transitionName={this.props.transitionName} />
            )
        }
    }
})

module.exports = Modal

我安装了 react-addons-css-transition-group 通过npm install --save react-addons-css-transition-group

问题显然是 ReactCSSTransitionGroup 没有正确导入,因为用普通 div 替换它不会引发任何错误。

4

1 回答 1

0

你必须从{ReactCSSTransitionGroup}

import {ReactCSSTransitionGroup} from 'react-addons-css-transition-group'

应该

import ReactCSSTransitionGroup from 'react-addons-css-transition-group'

另外,你应该为里面的孩子提供一把钥匙ReactCSSTransitionGroup

<ReactCSSTransitionGroup transitionName={this.props.transitionName}>
                    <div className="modal" key="transitionGroup">
                        {this.props.children}
                    </div>
</ReactCSSTransitionGroup>
于 2016-06-23T07:08:41.897 回答