.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

Facebook社が開発しているSingle Page Application開発用のUIサブシステム

仕組み

生産性

エコシステム

特徴

Just the UI

コンポーネント指向

仮想DOM

Data flow

と、一方向化している。

自分の言葉で言うと、

経緯

...と言う事だろうか。

React Fiber

※ そもそもFiberとは「ファイバー (コンピュータ) - Wikipedia」のこと。

基本的な事項

言語

JSXをサポートする言語を使用する。

Babel(ECMAScript)

TypeScript

JSX

画面定義のマークアップ言語

特徴

JSの拡張言語で、

変数出力

{変数名}でJavaScript変数を出力

イベント・ハンドラ

属性の指定

自由に属性を設定可能。

<div>
    <MyComponent 
        myTitle={'タイトル'}
        myValue={this.state.value} />
</div>

子コンポーネントからprops.(定義した属性名)と利用。

Css in JS

コンポーネントの配置

JSXタグでコンポーネントを設置

<MyComponent />

コンポーネントのネスト

コンポーネントのRender内に、子コンポーネントを記述

<SubComponent />

基本形のコンポーネント

import React from 'react';
import ReactDOM from 'react-dom';

class MyComponent extends React.Component {
    constructor(props, context){
        super(props, context)
        this.state = { viewText : 'テストページ' }
    }
    render(){
        return (
            <div>
                <h1>Hello! World.</h1>
                <p>このページは{ this.state.viewText }です。</p>
            </div>
        )
    }
}

extends

state, propsを使用する場合、React.Componentを継承する。

export

import

exportでモジュール化したクラスは、importでインポートが可能。

state

props

constructor

constructorの記述自体を丸々省略できる。

render

コンポーネント・ライフサイクル

componentWillMount?

v16.3以降、deprecated(非推奨)

componentDidMount?

componentWillReceiveProps?

v16.3以降、deprecated(非推奨)

shouldComponentUpdate?

componentWillUpdate?

componentDidUpdate?

componentWillUnmount?

参考

Component と Container

Presentational Component

見た目を担当するコンポーネント

Container Component

ロジック(物事の振る舞い)に関与するコンポーネント

参考

その他のコンポーネント

状態を持たないコンポーネント(SFC)

テンプレート・コンポーネント

コンポーネントの属性

ref属性

同一コンポーネントのインスタンスを識別する。

データおよびイベント連携

親から子

props

JSX Spread Attributes

親コンポーネントが保持しているデータを
全て子コンポーネントのpropsに渡す。

componentWillReceiveProps

子から親

参考

js STUDIO

Qiita

Css in JS

概要

参考

コンポーネント・ライブラリ

CSS

react-bootstrap

Material-UI

拡張機能

react-hot-loader(AppContainer?

Reactコンポーネントが状態を失うことなく、
ライブで再ロードされるようにするプラグイン。

react-router-dom(BrowserRouter?

https://reacttraining.com/react-router/
https://reacttraining.com/react-router/web/guides/philosophy

isomorphic-fetch(fetch)

XMLHttpRequest?代替のfetch APIのPolyfill(WHATWG Fetch polyfill)。

データ連携

Flux

Redux

Hooks

リサイズ・移動など

React-Resizable

Drag&Dropで画面項目をリサイズ

React-Draggable

Drag&Dropで画面項目を移動

UIコンポーネント

React Contextmenu

右クリックでメニューを表示する

React Tree Menu Component

ツリーメニュー

rc-calendar

カレンダーでの日付表示、日付入力機能

react-big-calendar

スケジューラ用途のカレンダー

React Bootstrap Table

高機能テーブルコンポーネント(ソートやフィルタリング、ページジング)。

新機能

React.

Fragment

createRef

createContext

Suspense

lazy

遅延ロード用のコンポーネントをimportするための機能

memo

FCでshouldComponentUpdate相当のことができる。

getDerivedStateFromProps?

React v16.3以降、ライフサイクルメソッドの

deprecated(非推奨)のため、代用が必要。

Pointer Events

エラー処理

ErrorBoundary?

getDerivedStateFromError?

step by step 的な

Reactのファースト・ステップ

Reactのセカンド・ステップ

Reactのサード・ステップ

Reactの4thステップ

Reactの5thステップ

ReactNative

参考

@IT

Qiita

Schoo

学べる生放送コミュニケーションサービス

POSTD

マイクロソフト系技術情報 Wiki


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS