カテゴリー
開発環境

nextjsとreact日記3~5

3.useStateの使い方は分かったが、useStateが更新されることにより、親要素だと全て再レンダリングされ都合が悪いことが分かった。数字をクリックしても正解、不正解の出し方が分からなかった。

export default function ClientComponent2(){

  const [fisrtNumber, setNumber] = useState(0);

  return (
      <>
      <p>掛け算3の段ノーマル</p>
      <ThreeTablesApp />
      <p>掛け算3の段ノーマルの問題と4つの回答</p>
      <ThreeTablesAndAnswer />

      <button onClick={() => console.log('bbb.tsx が押下されました')}>Click me</button>
      <button onClick={() => console.log('Hello, Client')}>Hello, Client</button>
      <p>Increaseボタンを{fisrtNumber}回クリック</p>
      <button onClick={() => setNumber(fisrtNumber + 1)}>Increase</button>
      </>
  )
}

4.fontawesomeのアニメーションの出し方が分かった。

import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faThumbsUp,faPoo } from "@fortawesome/free-solid-svg-icons";

export const Example4 = () => (
  <FontAwesomeIcon icon={faThumbsUp} size="5x" shake style={{color: "blue"}}/>
);
export const Example5 = () => (
  <FontAwesomeIcon icon={faPoo} size="5x" bounce style={{color: "brown"}}/>
);

コンソール内だけだが、正解をクリックすると正解、不正解をクリックすると不正解と出せるようになった。

//正解1つ、間違い3つのランダムに4つの数字を選ぶ関数。戻り値は配列。
const handleClick2 = (answer_num: number, correct_num: number) => {
  if(answer_num === correct_num){
    console.log('正解。' + answer_num + 'がクリックされ、正解は' + correct_num + 'でした')
  } else {
    console.log('間違い。' + answer_num + 'がクリックされ、正解は' + correct_num + 'でした')
  }
}

5.正解をクリックすると、次の問題が出せるようになった。

export const OneQuestionAndAnswer2 = () => {

  const [ques_num, ques_numSet] = useState(0);
      
  return (
          <>
          <p>Child4カウント:{ques_num}</p>
          <div className="FiveTables">
            <p>No {FiveTables[ques_num].id}  :  {FiveTables[ques_num].num1} × {FiveTables[ques_num].num2} = {FiveTables[ques_num].answer}</p>
            <main className="grid grid-cols-4 justify-items-stretch gap-[5px] m-5">
              <FourAnswer_b array_a={Num99s5} num_a={3} num_b={FiveTables[ques_num].answer} ques_num={ques_num} ques_numSet={ques_numSet}/>
            </main>
          </div>
          </>
  );
}

//array_aは配列、Num99s5配列が入る。num_aは間違いの個数が入る、3が指定されている。num_bは正解が入る。
const FourAnswer_b = (props) => {
  const list = RandomSelected(props.array_a, props.num_a, props.num_b);

  list.push(props.num_b);

  const shufflelist = shufflesArray(list); 

  const handleClick4 = (OneTable) => {
    if(OneTable === props.num_b){
      console.log('正解。' + OneTable + 'がクリックされ、正解は' + props.num_b + 'でした');
      props.ques_numSet(props.ques_num + 1); 
    } else {
      console.log('間違い。' + OneTable + 'がクリックされ、正解は' + props.num_b + 'でした')
    }
  };
 
  return (
    <>
    {shufflelist.map((OneTable) => {
      return (
        <button onClick={() => handleClick4(OneTable)}><div className="bg-red-100 p-5">{OneTable}</div></button>
      );
    })}      
    </>
  );
};
カテゴリー
業務日報 休む

2024.7.22-7.26の週報

2024.7.22
【午前】
シンセンテックスの商品送付作業。Jリーグチーム一覧の更新作業。九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、大型セールだけ結構売れた。よかったが、以前と比べると寂しいもんだな。九九ゲームでは、Unhandled Runtime ErrorをuseEffectでなんとかしようと思ったが、無理だった。またソースを一から見直しに入った。

2024.7.23
【午前】
シンセンテックスの商品送付作業。九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。休み。

シンセンテックスの商品は、あまり売れず。九九ゲームでは、Unhandled Runtime Errorの問題を解消できず。

2024.7.24
【午前】
九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、全く売れず。九九ゲームでは、Unhandled Runtime Errorの問題が、今日も解消できず。全く進まない。行き詰まり。

2024.7.25
【午前】
シンセンテックスの商品送付作業。九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、あまり売れず。九九ゲームでは、Unhandled Runtime Errorの問題は、解消できた。よかった。asyncを入れることで、エラーが消えた。下記リンク参照。

https://zenn.dev/sora_kumo/articles/7f8a86c005f850

ローンチまでの道筋が見えたので、さっさとローンチしたいし、これまでの道筋を記録を出さねば。

2024.7.26
【午前】
シンセンテックスの雑務作業。九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、全く売れず。九九ゲームでは、オブジェクトのランダム関数もでき、ローンチまでの道は見えた。それと、next.jsとreactの記録を記すことに決めた。

カテゴリー
業務日報

2024.7.15-7.19の週報

2024.7.15
海の日で休み。シンセンテックスの商品送付のみ。郵便箱の収集日時が変わっていた。

2024.7.16
【午前】
Jリーグチーム一覧の更新作業。九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、全く売れず。九九ゲームでは、Tailwind cssの本を買ったにもかかわらず、ほとんど理解できず。形にはなってきているが、詰めが甘い。

2024.7.17
【午前】
九九ゲーム製作作業。

【午後】
シンセンテックスの商品送付作業。九九ゲーム製作作業。

シンセンテックスの商品は、あまり売れず。九九ゲームでは、一歩も進まず。useRefを使用すれば、なんとかなりそうだけど。useCallbackを使用したが、駄目だった。

2024.7.18
【午前】
シンセンテックスの商品送付作業。九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、あまり売れず。九九ゲームでは、useRefを使用したが、内部更新されるだけで問題の解決にはならず。ソース設計から考え直す。しかし、流用できるからあと一歩まで来た。

2024.7.19
【午前】
九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、全く売れず。九九ゲームでは、ソース設計から考え直し、思っていたどおりに作ることができた。それはよかったが、Unhandled Runtime Errorというものを解決できず。うーん。

カテゴリー
業務日報 事務と外出と会計関連

2024.7.8-7.12の週報

2024.7.8
【午前】
シンセンテックスの商品送付、雑務作業。Jリーグチーム一覧の更新作業。

【午後】
会計処理。その他。

シンセンテックスの商品は、あまり売れず。会計処理では、6月末の締め作業をするが、simカードを切り替えたことで、そこだけ処理できず。

2024.7.9
【午前】
九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、全く売れず。九九ゲーム製作では、親コンポーネントのuseStateの変え方が分からず、一日を費やす。嫌になるが、諦めない!

2024.7.10
【午前】
シンセンテックスの商品送付作業。九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、セール開始だが、あまり売れず。九九ゲーム製作では、親コンポーネントのuseStateの変え方が相変わらず分からない。

2024.7.11
【午前】
シンセンテックスの商品送付作業。九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、あまり売れず。九九ゲーム製作では、やっと親コンポーネントのuseStateの変え方が理解でき、簡易環境では動いた。頭の中では道筋は見えたが、実装はできず。

2024.7.12
【午前】
シンセンテックスの雑務作業。九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、全く売れず。雑務では、LINEを送る。九九ゲームでは、ようやく基本形ができた。よかった。詰めれるところを詰めて、webアプリとして早くお披露目したい。

カテゴリー
業務日報

2024.7.1-7.5の週報

2024.7.1
【午前】
シンセンテックスの商品送付、雑務作業。Jリーグチーム一覧の更新作業。

【午後】
シンセンテックスの雑務作業。九九ゲーム製作作業。

シンセンテックスの商品は、あまり売れず。雑務では、6月の反省と7月の戦略を考える。九九ゲームでは、ソースレベルで行き詰まっていたので、一度解体して組み直す。

2024.7.2
【午前】
シンセンテックスの商品送付作業。九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、あまり売れず。九九ゲームでは、行き詰まっていたところが凍解。次に進めた。よかった。しかし、昨日出来なかったところが、ふと出来るようになるのはなんなのか。次にアイコンを使うことを考える。丸印が作れなかったが、copilotに聞いたらできた。よかった。

2024.7.3
【午前】
シンセンテックスの商品送付作業。九九ゲーム製作作業。

【午後】
九九ゲーム製作作業。

シンセンテックスの商品は、あまり売れず。九九ゲームでは、アイコンを使うことができた。形になってきたので、ページを形作る。useStateを使えばなんとかなりそうだが、関数が作れず止まる。

2024.7.4
【午前】
シンセンテックスの商品送付作業。九九ゲーム製作作業。

【午後】
シンセンテックスの商品送付作業。九九ゲーム製作作業。

シンセンテックスの商品は、あまり売れず。九九ゲームでは、値の受け渡しができず、全く進まず。嫌になる。

2024.7.5
【午前】
シンセンテックスの商品送付、雑務作業。

【午後】
シンセンテックスの商品送付、雑務作業。九九ゲーム製作作業。

シンセンテックスの商品は、あまり売れず。雑務では、来週からの割引セールの準備をする。九九ゲームでは、子コンポーネントから親コンポーネントへの値の受け渡しを調べる。