Javascript 无法读取未定义的';地图';财产

Javascript 无法读取未定义的';地图';财产,javascript,reactjs,Javascript,Reactjs,单击名为gameIp functions的按钮后,我从数据库下载了一组问题和答案,例如: state = { qBank: { Correct: "Tomek" Question 1: "What is your name?" RouteId: 1 Answers: ["ala", "ola", "Tomek", "jan"] } } 它指定给某个名称“if(id==point.RouteId)” 问题在于未捕获的TypeEr

单击名为gameIp functions的按钮后,我从数据库下载了一组问题和答案,例如:


    state = {
    qBank: {
    Correct: "Tomek"
    Question 1: "What is your name?"
    RouteId: 1
    Answers: ["ala", "ola", "Tomek", "jan"]
    }
    }

它指定给某个名称“if(id==point.RouteId)” 问题在于未捕获的TypeError版本中弹出的错误:无法读取未定义的“map”属性。我不能处理这个问题。请求有经验的程序员查看我犯的错误

gameIp(id) {
        const newQuestion2 = []
        for (const point of this.state.qBank) {
            if (id === point.RouteId) {
                newQuestion2.push({
                    question: point.Question1,
                    answers: [...point.Answers],
                    correct: point.Correct,
                    id: point.Id
                });

            }

        }

        this.setState({ qBank: newQuestion2 })
    }
在渲染方法中,我显示为:


    {this.state.qBank.map(({ question, answers, correct, id }) => (
    <QuestionBox key={id} question={question} options={answers} selected={answer => this.computeAnswer(answer, correct)} />
                                    )
                                )}


{this.state.qBank.map({问题,答案,正确,id})=>(
this.computeAnswer(答案,正确)}/>
)
)}
提问框如下所示:

import React, { useState } from 'react';

const QuestionBox = ({ question, options, selected }) => {
    const [answers, setAnswer] = useState(options);
    return (
        <div className="questionBox">
            <div className="question">{question}</div>
            {answers.map((text, id) => (
                <button key={id} className="answerBtn" onClick={() => {
                    setAnswer([text]);
                    selected(text)
                }}>{text}</button>
            ))}
        </div>
    )
}
export default QuestionBox;
import React,{useState}来自“React”;
const QuestionBox=({question,options,selected})=>{
const[answers,setAnswer]=使用状态(选项);
返回(
{问题}
{answers.map((文本,id)=>(
{
setAnswer([text]);
选定(文本)
}}>{text}
))}
)
}
导出默认问题框;

代码中有两个
.map
-哪一个是导致错误的原因?上述错误发生在组件中:因此
答案
未定义。。。如果您使用
(答案| |[]).map((文本,id)=>{
错误是否消失?是的,奇怪:如果您是新手,请记住您应该尝试使用。您可以用来重现同一问题的代码越少,其他人就越容易帮助您。:)代码中有两个
.map
-哪一个导致了错误?上面的错误发生在组件中:因此
答案
未定义…如果您这样做
(答案| |[])。map((文本,id)=>{
错误消失了吗?是的,很奇怪:如果你是新手,请记住你应该尝试使用a。你可以用来重现相同问题的代码越少,其他人就越容易帮助你。:)