LoginSignup
3
3

More than 3 years have passed since last update.

『GAFAコーディング面接こんな感じでした』を読んで

Last updated at Posted at 2020-08-11

GAFAコーディング面接こんな感じでした - yambe2002’s diary を読んで、課題のコードを書いてみる気に。

元記事だと「URL の履歴を保存するデータ構造」がひとつだけど、ふたつ (進む用 + 戻る用) に分割した方が良さそう。

あと、今更 React のチュートリアルを読んだので、練習を兼ねて。

ついでに Bootstrap 5 alpha もチラ見しよう。

Web ブラウザの履歴を管理するようなコード

比較用にいくつか書いた。

感想

Bootstrap 5 alpha

v4 と v5 の差異

React

state と props の違い

  • state
    • コンポーネント内部で使うプライベート変数のようなオブジェクト
    • 変更は必ず setState() メソッドを使うこと
  • props
    • 別のコンポーネントから渡される、読み取り専用のオブジェクト

React と HTML における属性名の差異

  • class -> className
  • for -> htmlFor
  • readOnly -> readOnly など

フック

  • 関数コンポーネントを使って、クラスコンポーネントより完結に書ける機能
    • 他にも色々便利らしい
    • this が不要になるだけで嬉しい
    • 今から書くなら、クラスコンポーネントよりフックを使えとのこと
  • 公式ドキュメントは分かりづらいので、以下を参考に
  • ただし、公式の フックの FAQ は良かった
  • CodePen で import React, { useState } from "react"; を使うには
    const { useState } = React; と書く

jQuery との比較

  • JSX とコンポーネントにより、JS 上での CSS セレクターによる要素の指定がほぼ不要に。
  • sate オブジェクトで状態を保持して、それを更新するだけで自動的に DOM 側にも反映できるので簡潔に記述できる。

TODO

  • コンポーネントをもっと分割できるのか?
  • フォームの検証はどう書くのが良いのか?
  • 良いコードをもっと読まないと。
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3