【问题标题】:Why I'm getting Erroe: Expected an assignment or function call and instead saw an expression no-unused-expressions为什么我收到错误:预期一个赋值或函数调用,而是看到一个表达式 no-unused-expressions
【发布时间】:2019-07-17 04:41:08
【问题描述】:
class Tweet extends React.Component{
    render(){
        return(
            <div className="tweet">
                <ShowTweet linkAvatar={this.props.link} name={this.props.name} userName={this.props.username} tweetText={this.props.content}/>
                <TweetAction />
                <Stats />
            </div>
        );
    }
}

class TweetContainer extends React.Component{
    constructor(props){
        super(props);
    }

    render(){

        const data =  [{name: 'Vuong xuan',username:'vuggg',content:'the good food'},
            {name: 'Jon tathoo',username:'tatoo',content:'the good food'}];

        let numberTweet = data.map(number=>{
            <Tweet linkAvatar={'/image/jennyshen.jpg'} name={number.name} userName={number.username} 
            tweetText={number.content} />
        });

        return(
            <div id="main">
                <h2>Tweet</h2>
                <div id="stream">
                    {numberTweet}
                </div>
            </div>
        );

我正在尝试显示推文,运行时出现错误

./src/App.js 第 180 行:期望一个赋值或函数调用,而是看到一个表达式 no-unused-expressions

搜索关键字以了解有关每个错误的更多信息。

第 180 行:

            tweetText={number.content} />

【问题讨论】:

  • 啊,你是对的。我想念那个。已删除答案。但我仍在查看您的代码。

标签: reactjs


【解决方案1】:

您在 data.map() 中缺少返回关键字。往下看:

class TweetContainer extends React.Component{
constructor(props){
    super(props);
}

render(){

    const data =  [{name: 'Vuong xuan',username:'vuggg',content:'the good food'},
        {name: 'Jon tathoo',username:'tatoo',content:'the good food'}];

    let numberTweet = data.map((number, index) => {
        return(
          <Tweet key={'Key-'+ index} linkAvatar={'/image/jennyshen.jpg'} name={number.name} userName={number.username} 
        tweetText={number.content} />
         )
        })

    return(
        <div id="main">
            <h2>Tweet</h2>
            <div id="stream">
                {numberTweet}
            </div>
        </div>
    );

【讨论】:

  • 我不这么认为,我用的是箭头函数,它不需要return语句。
  • 是的,但语法不正确。你有大括号。您要么需要添加 return 关键字,要么像这样返回 => ({ })。看到括号了吗?
  • 更重要的是,推文组件中需要密钥,否则总是只会呈现一条推文
  • 你是正确的@HemadriDasari。更新的答案。不是最好的解决方案,因为人们会认为使用索引作为键并不好。但我认为这种用法没问题。
  • 直接使用索引作为键是不好的,但是在索引后面附加一些字符串是个好方法。比如'Key-'+index
猜你喜欢
  • 2021-11-17
  • 2021-08-23
  • 1970-01-01
  • 2019-08-15
  • 2020-12-10
  • 2020-04-21
  • 2019-11-23
  • 1970-01-01
  • 2020-06-04
相关资源
最近更新 更多