0

三目並べゲームを作成しようとしていますが、残念ながら、switch ステートメントでエラーが発生します。

1.import React from 'react';
2.import {FaTimes, FaPen, FaRegCircle} from 'react-icons/fa';
3.
4.const Icon = ({name}) =>(
5.  ***switch*** (name) {
6.        case "cirle":
7.            <FaRegCircle className='icons'></FaRegCircle>
            break;
        case "cross":
            <FaTimes className='icons'></FaTimes>
            break;
        default:
            <FaPen className='icons'></FaPen>
            break;
   };
);

export default Icon;

Expression expected.ts(1109)switch キーワードの下にあるという 5 行目のエラーが表示されます。

この問題が発生した理由と解決方法を教えてください。

4

1 に答える 1

0

switchstatement を式として使用することはできません。また、関数本体のないアロー関数は、太いアローの後に式が必要=>です。

次のように、関数本体を中括弧で囲み{...}、各コンポーネントに return キーワードを追加する必要があります。

const Icon = ({name}) => {
  switch (name) {
        case "cirle":
            return <FaRegCircle className='icons'></FaRegCircle>
            break;
        case "cross":
            return <FaTimes className='icons'></FaTimes>
            break;
        default:
            return <FaPen className='icons'></FaPen>
            break;
   };
};
于 2020-08-30T09:48:06.307 に答える