我是一个非常新的反应者,在以下问题上我找不到信息。
我有一个对象数组,并且这些对象包含数组。我正在尝试使用map函数映射对象的元素,然后再次使用map函数映射子数组的元素。
请从render方法中查看以下代码:
<div>
{this.state.questionarray.map( (item) => (<p>Question {item.questionno}<input type="text" id={item.questionno} />
<button id={item.questionno} onClick={this.handleAddAnswer}>Add Answer</button>
{item.answers.map( (ans) => ({ans.answerno}))}</p>
) ) }
</div>
使用上面的代码,我得到“无法编译...意外的令牌,预期为','”。如果我删除内部映射并用item.answers.length替换,那么我将得到数组长度,这表明该数组肯定存在。我想这与JSX识别的语法有关。有人可以帮忙吗?有正确的方法吗?
答案 0 :(得分:0)
只需将Felix's comment放入答案框中,由于它是一个答案,{ans.answerno}
应该只是ans.answerno
,因为map
回调不是JSX上下文,并且{ {1}}(在JavaScript表达式上下文中)不是有效的JavaScript。
{ans.answerno}