node.js - 这个react用webpack打包后的问题
黄舟
黄舟 2017-04-17 14:21:19
[Node.js讨论组]

用React写了段代码其中App.jsx大部分是直接照扒React-UI-Tree这个组件的,用webpack编译打包后浏览器回应了这么个错误,代码应该是没问题不知问题在哪0.0


图一左侧代码:

import ReactDOM from 'react-dom';
import cx from 'classnames';
import React from 'react';
import Tree from 'react-ui-tree';


export default class App extends React.Component {

  constructor() {
    super();
    this.state = {
    active : null,
    tree : {
      "module": "react-ui-tree",
      "children": [{
        "collapsed": true,
        "module": "dist",
        "children": [{
          "module": "node.js"
        }]
      }]
    }
    };
  }

  renderNode(node) {
    return (
      <span className={cx('node', {
        'is-active': node === this.state.active
        })} onClick={this.onClickNode.bind(null, node)}>
        {node.module}
      </span>
    );
  }

  onClickNode(node) {
    this.setState({
      active: node
    });
  }

  render() {
    return (
      <p className="app">
        <p className="tree">
          <Tree
            paddingLeft={20}
            tree={this.state.tree}
            onChange={this.handleChange}
            isNodeCollapsed={this.isNodeCollapsed}
            renderNode={this.renderNode}
          />
        </p>
        <p className="inspector">
          <button onClick={this.updateTree}>update tree</button>
          <pre>
          {JSON.stringify(this.state.tree, null, '  ')}
          </pre>
         </p>
      </p>
    );
  }

  handleChange(tree) {
    this.setState({
      tree: tree
    });
  }

  updateTree() {
    var tree = this.state.tree;
    tree.children.push({module: 'test'});
    this.setState({
      tree: tree
    });
  }

}
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
PHP中文网

把你this.state.active的源码贴出来,编译后的真心不想看,看完也没法给你说问题

render改一下:

render() {
    return (
      <p className="app">
        <p className="tree">
          <Tree
            paddingLeft={20}
            tree={this.state.tree}
            onChange={this.handleChange}
            isNodeCollapsed={this.isNodeCollapsed}
            renderNode={this.renderNode.bind(this)}
          />
        </p>
        <p className="inspector">
          <button onClick={this.updateTree}>update tree</button>
          <pre>
          {JSON.stringify(this.state.tree, null, '  ')}
          </pre>
         </p>
      </p>
    );
  }
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号