0

问候!

我有一个常规的function,我正在返回一个spanprop如果我没记错的话)。在我的 ts 代码上我有这个错误

错误图片

这是我的代码。文件名是qCard.tsx

import { QuestionAnswerTwoTone } from "@material-ui/icons";
import React from "react";

// crear props
type Props = {
  question: string;
  answers: string[];
  callback: any;
  userAnswer: boolean;
  questionNm: number;
  totalQuestions: number;
};

// A function statement declared component that takes no children.
export default function QuestionCard({
  question,
  answers,
  callback,
  userAnswer,
  questionNm,
  totalQuestions,
}: Props) {
  //duda
  return (<div>
      <p> Question :  {questionNm} / {totalQuestions} </p>
      <p dangerouslySetInnerHTML={{ __html: question }} />
      <div>
          {answers.map(function answer(){
              return(  <div>
                <button disabled={userAnswer} onClick={callback}>
                    <span dangerouslySetInnerHTML={{ __html: answer }}/>
                </button>
            </div>);
          } )}
      </div>

  </div>
    
        );
}

(错误线)

我试图删除{{ **__html**: answer }}它,就像 :{{ answer }}但它不起作用。

4

1 回答 1

0

这是因为,您正在为 __html 使用函数名称(React 中的一个元素):

answers.map(function answer(){
 //    __html: answer ^^

改用箭头函数:

answers.map(answer => {
  // __html: answer // now it works.

或者,如果您希望继续使用函数语句,那么您可以传递一个参数并使用:

answers.map(function answer(ans){
  // __html: ans
于 2021-05-07T14:17:17.087 回答