为了账号安全,请及时绑定邮箱和手机立即绑定

控制台报错

为什么引用<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/JSXTransformer.js"></script>控制台会报错呢?报这个错JSXTransformer.js:5119 Uncaught Error: Parse Error: Line 7: Unexpected token ILLEGAL

正在回答

5 回答

<!DOCTYPE html>
<html>
    <head>
        <meta charset='UTF-8'>
        <title>啊啊啊</title>
        <!--react核心库-->
        <script src="http://static.runoob.com/assets/react/react-0.14.7/build/react.min.js"></script>
        <!--提供与dom相关的功能-->
        <script src="http://static.runoob.com/assets/react/react-0.14.7/build/react-dom.min.js"></script>
        <!--讲JSX语法转换成js语法-->
        <script src="http://static.runoob.com/assets/react/browser.min.js"></script>    
    </head>
    <body>
        <!--用于装react返回的内容-->
        <div id="container"></div>
        <!--react语法形式JSX-->
        <script type="text/babel">
            //定义点击改变的组件函数
            var TestClickComponent = React.createClass({
                haddleClick : function(event){
                    //this.refs.tip通过标签名字获取函数内部标签
                    //因为在react中的dom并不是真实的dom节点,所以要通过React.
                    //findDOMNode查找
                    var tipE = React.findDOMNode(this.refs.tip);

                    if(tipE.style.display === "none"){
                        tipE.style.display = "inline";
                    }else{
                        tipE.style.display = "none";
                    };

                    event.preventDefault();//阻止默认行为
                    event.stopPropagation();//停止冒泡
                },
                //渲染内容到div(id=‘container’)中
                render: function() {
                    return (
                        //如果不用div包裹的话,会报错,会将<button><span>
                        //视为两个结果
                        //ref:为标签起名字
                        <div>
                            <button onClick={this.haddleClick}>
                                显示|隐藏
                            </button>
                            <span ref="tip">内容</span>
                        </div>
                    );
                }
            });

            var TestInputComponent = React.createClass({
                //组件初始化默认值
                getInitialState : function(){
                    return{
                        inputContent: ''
                    }
                },
                changeHandler:function(event){
                    //修改内部组件的默认值
                    this.setState({
                        inputContent:event.target.value
                    });

                    event.preventDefault();
                    event.stopPropagation();
                },
                render : function(){
                    return(
                        <div>
                            <input type="text" onChange={this.changeHandler}/><span>{this.state.inputContent}</span>
                        </div>
                    );
                }
            });
            //调用组件(第一个参数是react.
            //element,第二个参数是document我们要传入进去的dom节点)
            ReactDOM.render(
                <div>
                    <TestClickComponent/>
                    <br/><br/><br/>
                    <TestInputComponent/>
                </div>,
                document.getElementById('container')
            );
        </script>
    </body>
</html>

2 回复 有任何疑惑可以回复我~
#1

TopDancer烊 提问者

非常感谢!
2016-12-14 回复 有任何疑惑可以回复我~

在新版的react中,封装的React.findDOMNode()方法已经是无效的了,会报not a function 

改成this.refs.xxxx 直接指向DOM节点本身,所以如果使用新版本的react的同学,上面的

var tipE = React.findDOMNode(this.refs.tip) 改成 var tipE = this.refs.tip; 就可以了

0 回复 有任何疑惑可以回复我~
#1

小爽子

貌似获取的值还是有问题,节点是获取到了,但对应的display属性值不对
2017-03-31 回复 有任何疑惑可以回复我~

谢谢大家的帮忙,问题解决了

0 回复 有任何疑惑可以回复我~

我想说是我的问题还是资源的问题呢,我也是复制的

0 回复 有任何疑惑可以回复我~

应该是JS错了吧,我复制过来引用就没报错。   

从官网上下载的DEMO引用这三个文件,也可以。

    <script src="https://unpkg.com/react@latest/dist/react.js"></script>

    <script src="https://unpkg.com/react-dom@latest/dist/react-dom.js"></script>

    <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
React入门
  • 参与学习       122141    人
  • 解答问题       121    个

颠覆式前端UI开发框架React入门视频教程,赶紧学起来

进入课程

控制台报错

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信