Facebook によって開発および保守されている React.js は、ユーザー インターフェイス、特にシングルページ アプリケーション (SPA) を構築するための最も人気のある JavaScript ライブラリの 1 つとなっています。柔軟性、効率性、使いやすさで知られる React には、あらゆるレベルの開発者向けに大規模なコミュニティと豊富なリソースがあります。あなたが初心者でも、スキルセットに React を追加したいと考えている経験豊富な開発者でも、このチュートリアルでは React.js の基礎を説明します。
React.js は、ユーザー インターフェイス、特に高速でインタラクティブなユーザー エクスペリエンスが必要な単一ページ アプリケーションの構築に使用されるオープンソースの JavaScript ライブラリです。 React を使用すると、開発者は、データの変更に応じて効率的に更新およびレンダリングできる大規模な Web アプリケーションを作成できます。これはコンポーネントベースです。つまり、UI はコンポーネントと呼ばれる小さな再利用可能な部分に分割されます。
コーディングを開始する前に、開発環境をセットアップする必要があります。次の手順に従ってください:
Node.js は公式 Web サイトからダウンロードしてインストールできます。 npm は Node.js にバンドルされています。
Facebook は、新しい React プロジェクトを迅速かつ効率的にセットアップできるようにする Create React App というツールを作成しました。ターミナルで次のコマンドを実行します:
npx create-react-app my-app
このコマンドは、React プロジェクトを開始するために必要なすべてのファイルと依存関係を含む my-app という名前の新しいディレクトリを作成します。
プロジェクト ディレクトリに移動し、開発サーバーを起動します:
cd my-app npm start
新しい React アプリは http://localhost:3000 で実行されるはずです。
React はコンポーネントがすべてです。 React のコンポーネントは、何らかの出力 (通常は HTML) をレンダリングする自己完結型モジュールです。コンポーネントは、機能コンポーネントまたはクラスコンポーネントのいずれかとして定義できます。
機能コンポーネントは、(JSX を使用して) HTML を返す単純な JavaScript 関数です。
例:
function Welcome(props) { returnHello, {props.name}
; }
クラス コンポーネントはコンポーネントを定義するためのより強力な方法であり、ローカルの状態とライフサイクル メソッドを管理できるようになります。
例:
class Welcome extends React.Component { render() { returnHello, {this.props.name}
; } }
JSX は、HTML に似た JavaScript の構文拡張機能です。これにより、JavaScript 内で HTML を直接記述することができ、React が実際の DOM 要素に変換します。
例:
const element =Hello, world!
;
JSX を使用すると、UI の構造を簡単に記述して視覚化できます。ただし、内部では、JSX は React.createElement() 呼び出しに変換されます。
Props (「プロパティ」の略) は、あるコンポーネントから別のコンポーネントにデータを渡すために使用されます。これらは不変です。つまり、受信コンポーネントによって変更することはできません。
例:
function Greeting(props) { returnHello, {props.name}!
; }
State は props に似ていますが、コンポーネント内で管理され、時間の経過とともに変化する可能性があります。状態は、ユーザー入力など、コンポーネントが追跡する必要があるデータによく使用されます。
例:
class Counter extends React.Component { constructor(props) { super(props); this.state = { count: 0 }; } increment = () => { this.setState({ count: this.state.count 1 }); } render() { return (); } }Count: {this.state.count}
React でのイベントの処理は、DOM 要素でのイベントの処理に似ています。ただし、構文上の違いがいくつかあります:
例:
function Button() { function handleClick() { alert('Button clicked!'); } return ( ); }
React のクラス コンポーネントには、コンポーネントの存続期間中の特定の時点でコードを実行できる特別なライフサイクル メソッドがあります。これらには次のものが含まれます:
例:
class Timer extends React.Component { componentDidMount() { this.timerID = setInterval( () => this.tick(), 1000 ); } componentWillUnmount() { clearInterval(this.timerID); } render() { return (); } }{this.state.date.toLocaleTimeString()}
React では、コンポーネントの状態に応じてさまざまなビューを作成できます。
例:
function Greeting(props) { const isLoggedIn = props.isLoggedIn; if (isLoggedIn) { returnWelcome back!
; } returnPlease sign up.
; }
データのリストを表示する必要がある場合、React は各項目をコンポーネントとしてレンダリングできます。どのアイテムが変更されたかを React が識別できるように、各アイテムに一意の「キー」プロパティを与えることが重要です。
例:
function NumberList(props) { const numbers = props.numbers; const listItems = numbers.map((number) =>
React Hooks を使用すると、機能コンポーネントで状態やその他の React 機能を使用できるようになります。最も一般的に使用されるフックには次のものがあります:
使用例:
function Counter() { const [count, setCount] = useState(0); return (); }You clicked {count} times
アプリケーションの準備ができたら、実稼働用にビルドできます。次のコマンドを使用します:
npm run build
これにより、React アプリの最適化された運用ビルドがビルド フォルダーに作成されます。その後、それを任意の Web サーバーにデプロイできます。
React.js は、最新の Web アプリケーションを構築するための強力なツールです。コンポーネント、状態管理、イベント処理、フックを理解することで、動的で対話型のユーザー インターフェイスを作成できます。このチュートリアルでは基本を説明しますが、React のエコシステムは、Redux による高度な状態管理、React Router によるルーティング、Next.js によるサーバーサイド レンダリングなど、さらに多くの機能を提供します。
React を使い続けるときは、React の公式ドキュメント、コミュニティ フォーラム、チュートリアルなどの豊富なオンライン リソースを忘れずに活用してください。コーディングを楽しんでください!
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3