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

React 代码中的 ESLint 无返回分配和无参数重新分配错误

React 代码中的 ESLint 无返回分配和无参数重新分配错误

慕标5832272 2023-12-14 15:21:32
我在 React App 中有这段代码来加载我的聊天消息:  const chatBubbles = dummyData.map((obj, i = 0) => {    <div className={`${classes.bubbleContainer} ${obj.direction}`} key={i}>      <div key={(i += 1)} className={classes.bubble}>        <div className={classes.button}>{obj.message}</div>      </div>    </div>;  });  return <div className={classes.container}>{chatBubbles}</div>;这是可行的,但我在 ESLint 中遇到两个错误,我不知道如何修复它  error  Expected to return a value in arrow function                           array-callback-return  error  Expected an assignment or function call and instead saw an expression  no-unused-expressions  error  Assignment to function parameter 'i'                                   no-param-reassign我怎样才能重写这个代码片段以便我的 Eslint 能够接受?
查看完整描述

3 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

第一个问题:没有理由设置默认值!


const chatBubbles = dummyData.map((obj, i = 0) => { <-- there should not be a `= 0`

第二个问题:区块内不返回


const chatBubbles = dummyData.map((obj, i = 0) => { <-- there { should be a ( <div/> ) or { return (<div/>) }

第三个问题:由map设置的递增索引


(i += 1) <-- Why are you increasing the variable i? 

const chatBubbles = dummyData.map((obj, i) => (

  <div className={`${classes.bubbleContainer} ${obj.direction}`} key={i}>

    <div key={(i + 1)} className={classes.bubble}>

      <div className={classes.button}>{obj.message}</div>

    </div>

  </div>;

));

return <div className={classes.container}>{chatBubbles}</div>;

我不知道你为什么要在第二个键上添加一个......


查看完整回答
反对 回复 2023-12-14
?
大话西游666

TA贡献1817条经验 获得超14个赞

也许尝试这样做:


    const chatBubbles = dummyData.map((obj, i) => {

    return (

        <div className={`${classes.bubbleContainer} ${obj.direction}`} key={i}>

            <div key={(i + 1)} className={classes.bubble}>

                <div className={classes.button}>{obj.message}</div>

            </div>

        </div>;

    )

});

return <div className={classes.container}>{chatBubbles}</div>;

error  Expected an assignment or function call and instead saw an expression并且error  Expected to return a value in arrow function- 你需要从地图回调中返回一些东西


error  Assignment to function parameter 'i'- 你不应该重新分配i (i += 1更改为i + 1)


查看完整回答
反对 回复 2023-12-14
?
largeQ

TA贡献2039条经验 获得超7个赞

i在数组上使用该函数时,不需要预先分配map()。将第一行替换为:

  const chatBubbles = dummyData.map((obj, i) => {


查看完整回答
反对 回复 2023-12-14
  • 3 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信