解析错误:意外的令牌,预期为“,”

时间:2018-10-25 22:31:27

标签: javascript reactjs

我在react js中有以下代码。

class Posts extends Component {
  render() {
    return (
      {console.log('test')}
    );
  }
}

运行此代码后,出现错误

Parsing error: Unexpected token, expected ","

   8 |     return (
>  9 |       {console.log('test')}
     |       ^
  10 |     );
  11 |   }
  12 | }

更新

用父标签将其包装起来会返回相同的错误

>  9 |       <div>
     |       ^
  10 |         {console.log('nothing')}
  11 |       </div>

更新

这是整个班级

import React, { Component } from 'react';
import { connect } from 'react-redux';

class Post extends Component {
  render() {
    return (
      <div>
        {console.log('test')}
      </div>
    );
  }
}

const mapStateToProps = (state) => {
  return {
    posts: state
  }
};

export default Post;

5 个答案:

答案 0 :(得分:1)

返回jsx时,您始终需要包装父JSX标签。由于您没有任何jsx标记,因此只是无效的javascript。应该是:

class Posts extends Component {
  render() {
    return console.log('test')
  }
}

或者如果您想要jsx

class Posts extends Component {
  render() {
    return (
      <div>
        {console.log('test')}
      </div>
    )
  }
}

答案 1 :(得分:1)

在react js中,您必须在attr中输入一个值。

有效的示例

<option selected={this.props.info.gender == 0 ? 'selected' : ''} value='0'>men</option>
<option selected={this.props.info.gender == 1 ? 'selected' : ''} value='1'>female</option>

不起作用

<option {this.props.info.gender == 0 ? 'selected' : ''} value='0'>men</option>
<option {this.props.info.gender == 1 ? 'selected' : ''} value='1'>female</option>

答案 2 :(得分:0)

@Mehrdad Masoumi,有一个大错误,这是真的:

<option selected={this.props.info.gender == **1** ? 'selected' : ''} value='**1**'>men</option>
<option selected={this.props.info.gender == **0** ? 'selected' : ''} value='**0**'>female</option>

答案 3 :(得分:0)

@null使用返回console.log的回调。

阿辛

() => console.log('test')

答案 4 :(得分:0)

Redux的connect方法使用的

mapStateToProps 在return方法之前添加console.log