在Map Function中反应Map Function

时间:2019-05-02 14:58:08

标签: javascript arrays reactjs

我是一个非常新的反应者,在以下问题上我找不到信息。

我有一个对象数组,并且这些对象包含数组。我正在尝试使用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识别的语法有关。有人可以帮忙吗?有正确的方法吗?

1 个答案:

答案 0 :(得分:0)

只需将Felix's comment放入答案框中,由于它是一个答案,{ans.answerno}应该只是ans.answerno,因为map回调不是JSX上下文,并且{ {1}}(在JavaScript表达式上下文中)不是有效的JavaScript。

{ans.answerno}