タグ

ブックマーク / qiita.com/koba04 (6)

  • React.jsのVirtualDOMについて - Qiita

    今回はReact.jsのVirtualDOMの実装での工夫について書きたいと思います。 Version control for the DOM React.jsのVirtualDOMの実態はJavaScriptのオブジェクトであり、rerenderする際に前後の状態を比較して最小限の変更だけを実際のDOMに反映させる仕組みになっています。 つまり、バージョン管理されていてdiffだけをpatchとして実際のDOMに適用する感じですね。 Level by level 単純にVirtualDOMのtreeを比較すると計算量が多くなってしまうので、React.jsでは計算量を減らすための工夫がされています。 その1つがVirtualDOM treeの同階層同士でしか比較しないということです。WebアプリケーションのDOM構造で異なる階層に要素が移動するケースは珍しいという理由でこのようになってい

    React.jsのVirtualDOMについて - Qiita
    iR3
    iR3 2017/07/22
    ふむふむ 「React.jsのVirtualDOMについて」
  • 公開されているReact Componentを利用してみる - Qiita

    今回はちょっと趣向を変えて公開されているComponentの利用について書きたいと思います。 Componentは基的にはPropがI/Fとなっているのでドキュメントを見てよくわからなかった場合は、Propを見るとどのようなI/Fがあるかわかると思います。 自分が公開する場合は、PropTypesやgetDefaultPropsを使ってI/Fを明確にしておくといいと思います。 Bootstrap 何はともあれまずは定番のBootstrapですがやはりちゃんとあります。 前回のRouterのサンプルでも使っていました。 使う場合は、react-bootstrapの他に別途bootstrapCSSを読み込む必要があります。 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/boo

    公開されているReact Componentを利用してみる - Qiita
    iR3
    iR3 2015/08/06
    ふむふむ
  • React.jsのJSXを使ってみる - Qiita

    var Hello = React.createClass({ render: function() { return ( <div>Hello {this.props.name}</div> ); } }) こんな感じで一見HTMLに見える部分<div>...</div>がJSXのSyntaxです。 詳しくは↓に書いてある通りなのですが、XML likeにタグを書いていく感じです。覚えることはほとんどないです。 注意点としてはHTMLではないということで、例えばdivにcontainerというクラスを指定したい場合は、<div class="container">...</div>ではなくて、<div className="container">...</div>となります。(classはJavaScriptの予約語のため) その他ではlabelのfor属性はhtmlforにする必要があ

    React.jsのJSXを使ってみる - Qiita
    iR3
    iR3 2015/07/28
    ふむふむ
  • React.jsのState - Qiita

    昨日はPropについて紹介しましたが、StateはPropがImmutableな値であったのに対してMutableな値を定義することが出来ます。 基的な使い方 基的にはgetIntialStateでstateの初期値を返して、データに変更があった場合にthis.setStateで更新します。 そうするとComponentがrerenderされて表示が更新されます。子のComponentもrerenderされます。 var Counter = React.createClass({ getInitialState() { return { count: 0 }; }, onClick() { this.setState({ count: this.state.count + 1}); }, render() { return ( <div> <span>{this.state.count

    React.jsのState - Qiita
    iR3
    iR3 2015/07/13
    Stateは、コンポーネントの状態管理、Propsは、親子コンポーネント間のインターフェース #sendagayarb で勉強しているところ
  • React.jsとFlux - Qiita

    今回はReact.jsとも関わりがあるFluxについて紹介したいと思います。 Flux is Architecture ↑の図はfacebookのfluxのリポジトリにあるものですが、Fluxは上記のようなArchitectureの名称です。facebook/fluxのrepositoryに行ってもらうとわかるのですが、実装としてはDispatcherの部分があるだけです。 Unidirectional data flow 先ほどの図を見てもらうとわかる通り、Fluxではアプリケーションの複雑さをなくすため、データの流れを一方向にします。 そのため全体の処理の流れはわかりやすくなりますが、Angular.jsなどで書くときに比べて冗長に感じることもあるかと思います。 しかしながら単純なデータの流れを作ることで、ある程度の規模になってアプリケーションが複雑化してもデータやイベントの流れがスパ

    React.jsとFlux - Qiita
    iR3
    iR3 2015/07/09
    ふむふむ #sendagayarb で見てる
  • React.jsとは - Qiita

    このAdvent Calendarについて 今年になって急に盛り上がってきたように感じるReact.jsですが、「ちょっと前まではAngular.jsって言ってたのに!」っていう人も多いと思うので、Advent Calendar形式で簡単に紹介していきたいと思います。 React.jsの重要な要素であるVirtualDOMについては別にAdevent Calendarがありますのでそちらも是非見てください。 ※既に↑のAdvent Calendarがあったため、これは1人で書くように作ったものなので書く人が誰もいなかったわけではないです。 React.jsについて なぜ盛り上がってきたのかは正直よくわかっていないのですが、個人的にはgithubのatomがパフォーマンス向上のためにReact.jsを使うことにしたという記事を見て興味を持つようになりました。 React.jsはFaceboo

    React.jsとは - Qiita
    iR3
    iR3 2015/02/02
    #sendagayarb で React.js が話題になったので見てる
  • 1