Javascript TypeError:无法读取属性';地图';“未定义”的定义;错误
我想制作一个测验web应用程序,每当我在我的Javascript TypeError:无法读取属性';地图';“未定义”的定义;错误,javascript,reactjs,Javascript,Reactjs,我想制作一个测验web应用程序,每当我在我的QuestionBox.js中添加map函数时,它都会提示一个错误 有人能解决这个问题吗 错误: 4 | const [answer, setAnswer] = useState(options); 5 | return ( 6 | <div className="questionBox"> > 7 | <div className="question"&g
QuestionBox.js
中添加map函数时,它都会提示一个错误
有人能解决这个问题吗
错误:
4 | const [answer, setAnswer] = useState(options);
5 | return (
6 | <div className="questionBox">
> 7 | <div className="question">{question}</div>
| ^ 8 | {answer.map((text, index) => (
9 | <button
10 | key={index}
出现此错误是因为呈现
QuestionBox
时,options
未定义。你应该试试这个:
import React,{useState}来自“React”;
const QuestionBox=({question,options=[],selected})=>{
const[answer,setAnswer]=useState(选项);
返回(
{问题}
{answer&&answer.map((文本,索引)=>(
{
setAnswer([text]);
选定(文本);
}}
>
{text}
))}
);
};
导出默认问题框代码>将默认空数组分配给问题
参数。它将首次解决该问题,因为它可能是未定义的。{this.state.questionBank.length>0&&this.state.questionBank.map({question,answer,correct,questionId}=>())}
这里的答案应该是QuizService中定义的答案
这是正确的提问箱道具
{this.state.questionBank.length>0&&this.state.questionBank.map({question,answers,correct,questionId}=>())-向我们展示将道具发送到问讯箱组件{this.state.questionBank.length>0&&this.state.questionBank.map({question,answer,correct,questionId}=>())}现在,我们需要知道questionBank对象在类型错误消失但按钮未出现时的外观。你能告诉我出了什么问题吗?
import React, {useState} from "react";
const QuestionBox = ({question, options, selected}) => {
const [answer, setAnswer] = useState(options);
return (
<div className="questionBox">
<div className="question">{question}</div>
{answer.map((text, index) => (
<button
key={index}
className="answerBtn"
onClick={() => {
setAnswer([text]);
selected(text);
}}
>
{text}
</button>
))}
</div>
);
};
export default QuestionBox;