未定义按钮标签

时间:2018-07-31 08:39:54

标签: reactjs react-native webstorm

我正在尝试在React js中创建一个按钮。我正在使用WebStorm。添加下面发布的代码并运行它时,出现以下发布的错误。

请让我知道如何解决它。

代码

var React = require('react');

var buttonStyle = {
margin: '10px 10px 10px 0'
};

var Button = React.createClass({
render: function () {
    return (
        <button
            className="btn btn-default"
            style={buttonStyle}
            onClick={this.props.handleClick}>{this.props.label}</button>
    );
}
});

错误

          <button
        ^
SyntaxError: Unexpected token <
at new Script (vm.js:74:7)
at createScript (vm.js:246:10)
at Object.runInThisContext (vm.js:298:10)
at Module._compile (internal/modules/cjs/loader.js:657:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:266:19)

2 个答案:

答案 0 :(得分:1)

我不知道您使用的是哪个版本。

我尝试过这种方法,并为我工作得很好。

import createReactClass from  'create-react-class';

var Button = createReactClass({
   handleClick: function() {
      console.log("hello world");
  },
  render: function () {
    return (
      <button
        className="btn btn-default"
        style={buttonStyle}
        onClick={this.handleClick}>{'Button'}</button>
    );
  }
});

工作 codesandbox

答案 1 :(得分:0)

如果要在其他地方使用此按钮,最佳做法是将其导出为默认按钮,然后将其导入要使用的位置。

import React from 'react';

var buttonStyle = {
margin: '10px 10px 10px 0'
};

var Button = React.createClass({
  render() {
      return (
          <button
              className="btn btn-default"
              style={buttonStyle}
              onClick={this.props.handleClick}>{this.props.label}</button>
      );
  }
});
export default Button;

下次要使用它时,请将其作为模块导入:

import Button from 'pathToComponent/Button'