繁体   English   中英

如何使用es6语法导入ReactCSSTransitionGroup?

[英]How to import ReactCSSTransitionGroup using es6 syntax?

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

但是,出现以下错误

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

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

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

您必须从{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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM