Todoリストを作りながらTypescriptとReactを触ってみよう ~Typescript入門~

Поділитися
Вставка
  • Опубліковано 5 вер 2024
  • #入門 #Typescript #react #Javascript #webアプリ #todo #型
    【Reactでツイッタークローンを自作してみたい方はこちら】
    shincode.info/2...
    \ShinCode_Camp開校しました/
    プログラミング講座&副業・起業&就職・転職が学べるプラットフォーム🚀
    🎁月額2500円で全講座が見放題
    🎁分からない箇所は質問し放題
    🎁7日間無料キャンペーン実施中
    🎁コミュニティ機能付き
    🎁いつでも解約可能etc...
    ↓↓↓↓↓
    code-s-school-...
    -----------------------------------------------------------------------------------------------------------------------------
    【この動画を視聴するメリット】
    ・Typescriptを理解できる
    ・ReactにおけるTypescriptの使い方が分かる
    ・ReactでTodoリストが作れる
    ・hooksのuseStateの使い方が分かる
    【信頼性】
    ・Udemy講師
    ・講師レビュー評価94.6%
    ・Udemy受講生延べ300人突破
    ・Webアプリ/サイト開発数:150以上
    ★チャンネル登録はこちらから★
    / @programming_tutorial_...
    ★無料Slackコミュニティ開設しました★
    t.co/HCsoL7hlft
    プログラミングに関するご相談やお悩みはこちらで回答します。
    ★今回のソースコード★
    github.com/Shi...
    ★運営者SNS★
    Twitter: / shin_engineer
    ★この動画で使用している機材★
    キーボード(Keychron K6 赤軸):amzn.to/3F4zca5
    マウス(Logicool G ロジクール G ゲーミングマウス):amzn.to/3DZaaYB
    マイク(サンワダイレクト USBマイク PCマイク):amzn.to/30AVwJF
    マイクスタンド(Luling Arts マイクスタンド マイクアーム スタンド):
    amzn.to/3se5onZ
    ※アフィリエイトリンクになります。

КОМЕНТАРІ • 23

  • @nobnob8723
    @nobnob8723 Рік тому +3

    ShinさんのUdemy動画のほうで何度もmapやfilterの使い方についてレクチャーいただいていたので、
    理解して実装することができました

  • @roprim8969
    @roprim8969 Рік тому +2

    こちらのチャンネルでReactのチュートリアルを始めさせていただいて、そこから更にTypescriptもやらせていただいています。
    テンポよく大変聞きやすく、それでいて無駄がなく、さらにこの情報量に対して非常にコンパクトに動画がまとまっていて、大変分かりやすかったです。こんなに高品質な動画はなかなかないです!というかこのチャンネル自体全体的に非常に参考になります。
    前提とするコンテキストが多くて初学者には難しいかもしれませんが、ある程度jsを使い慣れていてReactのチュートリアルをこなしている方なら(+前回のtypescript入門動画を見ている方なら)問題なくついていける内容です。
    Udemyの方も拝見しましたが、こちらの方では更にボリューミーな動画を手頃な価格で提供されていたので、こちらの方も検討したいと思います。
    また、もし可能であれば、ESLint+Prettierの環境構築や適切な設定の解説動画をリクエストしたいです。
    特に、React×Typescript環境で組み合わせたものが見てみたいです。
    ReactとTypescriptで環境を混ぜるごとに設定が分からなくて苦労したので...

  • @RK-zs2tg
    @RK-zs2tg 19 днів тому

    Shinさんの動画、めちゃめちゃ分かりやすいです!TypeScripe X Reactの動画もっと見たいです!体調に気をつけて、これからも頑張ってください。

  • @manhu623
    @manhu623 2 роки тому +5

    いつもわかりやすい動画ありがとうございます。
    Typescriptの勉強として見てみました。
    ここで一つ報告です。
    「フィルター関数を用いて、タスクの削除を行っていますが、それによってIdが重複します。」
    ①Todo.idを何かしらの仕組みでIdになるように設定する。
    ②削除する際に、削除したタスク以降で、idを1減らす。
    といった改善が必要だと考えられます。

    • @programming_tutorial_youtube
      @programming_tutorial_youtube  2 роки тому +4

      RUさん、コメントありがとうございます。
      確かにその通りでございます。
      idに関しては配列の長さで指定するとエラーの原因になるのでuuid等を設定してあげるといいかもしれません。とにかくidが重複しなければいいですね。
      あとはuseStateの中のタスク配列をそのまま編集するという行為は破壊的な処理になるので、別で配列をコピーしてあげてそこを編集する、、といったディープコピーをする必要もあるかもしれません。そのあたりの詳細は別記事等で学んでみるとさらに学びが深まると思います。

    • @helloworld0808
      @helloworld0808 Рік тому

      UUIDをidに付与してidの重複を防ぐ場合は、こんな感じで書くとよいかもしれません
      const handleSubmit = (e: React.FormEvent): void => {
      e.preventDefault();
      const newTodo: Todo = {
      inputValue: inputValue,
      id: crypto.randomUUID(), //

  • @hunterhunterdesu
    @hunterhunterdesu Рік тому +2

    詰まることなく進めることができました。とてもわかりやすかったです。ありがとうございました!

  • @zinzin-ko3fu
    @zinzin-ko3fu Рік тому +5

    ハマったので、書いときます。
    作成ボタンをクリックしても、テキストボックスが空にならない件について
    理由は、inputタグのvalueにinputValueがセットされていないためです。
    handleChange(e)}
    className="inputText"
    value={inputValue}
    />

    • @two-block2306
      @two-block2306 10 місяців тому

      助かりました!
      inputTextにid振って、
      handleSubmitの最後にこれ追加して無理やり解決してた。。
      流石です。
      const inputElement = document.getElementById("inputTextのid") as HTMLInputElement;
      inputElement.value = ""

  • @chimoha3187
    @chimoha3187 2 роки тому +4

    現在Reactを勉強していますが、とても参考になります。
    今まで色んな動画を見てきましたが、ダントツで一番分かりやすいです。
    特にシンプルにまとめられているところが、こちらもアウトプットしやすく助かります。
    コメントなんてした事なかったですが、素晴らしすぎてどうしてもお礼を書き込みたかった次第です。
    Udemyの方でもReactのレクチャーをされているようなので受講してみます!
    又、現在Reduxで苦戦しているので、今後の動画であげる候補にしていただけたら幸いです!

    • @programming_tutorial_youtube
      @programming_tutorial_youtube  2 роки тому

      Chimohaさん、コメントありがとうございます。
      とても励みになる言葉感謝です
      UdemyではTypescriptではなくReact単体なのでお気をつけくださいませ。今後新しく講座を出すかもしれません。
      Reduxですね。Reduxは状態管理で非常に難しい分野だと思います。それについても少し視野に入れさせて頂きます。
      コメントありがとうございました

  • @two-block2306
    @two-block2306 10 місяців тому +2

    分かりやすく、楽しく学べました!!
    チャンネル登録しました。

    • @programming_tutorial_youtube
      @programming_tutorial_youtube  10 місяців тому +1

      どうもチャンネル登録ありがとうございます!
      これからも動画更新がんばりますね

  • @hasbullaBJJ
    @hasbullaBJJ Рік тому +1

    いつも勉強になります!

  • @python3343
    @python3343 2 роки тому +2

    typescriptって難しいけどこれみればだんだん学べそう!
    あとgithubの使い方教えてほしいです

  • @improveskills
    @improveskills 9 місяців тому +1

    いつもためになる動画ありがとうございます!
    1つだけ、App.cssに追加が必要かもと思いご共有です🙇
    .App {
    flex-direction: column; /* ←こちら追加で動画内と同じくタイトル・フォーム・リストが縦並びになるかと思います! */
    }

  • @thurendous
    @thurendous Рік тому +1

    ありがとうございます。一つ質問ですが、このままの実装だと自分の場合はinputのonchhangeイベントを発火させないと、そのまま文字が書かれてる状態で連続エンターを押すと空っぽの配列要素がどんどんインプットされてしまいました。これはインプットを一度リセットしたほうがよさそうでしょうか

  • @animelife5166
    @animelife5166 Рік тому +2

    自分用メモ
    ・handleEditが分からん
    ・type Todoはオリジナルの型作成みたいな感じ?
    ・...todosみたいにスプレッドにするのはオブジェクト型の時らしい。プリミティブ型ではいらないみたい。
    ・ほんとにhandleEditが分からん。
    追記
    追加したTodoが編集できないのでそれを出来るようにするためhandleEdit作ってる。
    やり方としてはもっかいtodosをmapで展開して、if文のとこで今回編集したいものとtodosの中のものを一致させる。
    それでtodosのもののinputValueを今回編集したいもののinputValueに代入することで内容を反映させる。
    →でも、そもそもhandleEditが呼ばれるのがonChangeだから、編集しないと呼ばれないはず...。handleEditはそもそもTodoを編集できるようにするための関数なのに、編集しないと呼ばれないってことにならない??
    ・return todoにする理由が分からん。

  • @hor9184
    @hor9184 2 роки тому +4

    idを配列の長さで設定すると、削除後に何か追加した時、同じIDのものが存在する場合がありませんか?

    • @animelife5166
      @animelife5166 Рік тому

      uuid使えたらそれが一番良さそうですね

  • @k18923
    @k18923 11 місяців тому +1

    私なら関数の引数の型はtodo にしちゃうな。

    • @user-mg2kl5lh2l
      @user-mg2kl5lh2l 8 місяців тому

      todoを直接渡す方が簡単にかけるけど不要なものまで渡してしまうので
      動画の書き方の方が好まれると思う
      会社によっては今後の拡張性重視でtodoを渡す方が良いってところもあるし
      Web系は専門外だからひょっとしたらtodoを渡す方が主流とかあるかもしれんけど
      基本は必要なものだけを渡すのがよいとされる