タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

javascriptとreact.jsに関するtrappleのブックマーク (18)

  • 2015-08-17のJS: Redux 1.0.0、flux-utils、Firefox 40

    JSer.info #241 - Fluxのように単方向データの流れを行うフレームワークであるRedux 1.0.0がリリースされました。 Release v1.0.0 · rackt/redux Reduxのコンセプトについては作者が以前The Evolution of Flux Frameworks — Mediumという記事で書いています。 ざっくり書くと、Stateを管理するコンテナ(reduxオブジェクト)を提供することでFluxのActionCreatorとStoreにあたるものをただの関数として書けるようにして、状態の変化が予測できるようにすることを目的としています。 ドキュメントや人気のFluxフレームワークReduxをさわってみた - マルシテイアは月の上などを見てみると特徴や、どういう制約を元に作られているのかが分かるかもしれません。 Read Me | Redux T

    2015-08-17のJS: Redux 1.0.0、flux-utils、Firefox 40
    trapple
    trapple 2015/08/18
    flux関係の動きが多い
  • React.jsでAnimation - Qiita

    今回はReact.jsでのAnimationについて書きたいと思います。 React.jsではAddonとしてサポートされていて、CSS Animationを使ったCSSTransitionGroupとComponentのLifecycle MethodのようにMethodでフックして書く2パターンあります。 CSSTransitionGroup こちらではComponentの追加・削除時にCSSアニメーションさせることが出来ます。やりかたはAngular.jsやvue.jsのものに近くて追加・削除時にclassが追加されるのでcssにアニメーションを記述する感じです。 {transitionName}-{enter,leave}のclassName追加された後、次のイベントループで{transitionName}-{enter,leave}-activeのclassNameが追加されるの

    React.jsでAnimation - Qiita
  • React.jsのmixinについて - Qiita

    今回はComponentのmixinについて書きたいと思います。 mixinはまさにmixinなので概念自体については説明しませんがComponentの共通な振る舞いをObjectとして共通化することが出来てとても便利です。 React.js自体も、LinkedStateMixinやPureRenderMixinといった形でmixinを提供しています. ちなみにMarionette.jsでもBehaviorとして、Vue.jsでもmixinとして存在しています。 使い方 使い方はmixinsにObjectを配列として指定するだけです。 配列である通り複数指定することも出来ます。 var Logger = { logging(str) { console.log(str); }, componentDidMount() { this.logging("component did mount"

    React.jsのmixinについて - Qiita
  • https://github.com/eslint/eslint/tree/es6jsx/docs/configuring

    trapple
    trapple 2015/02/15
    jsxサポートさせる設定
  • Componentを拡張してみる - Qiita

    今回はちょっとした小ネタとして、既存のComponentを拡張したようなComponentを作りたい時の話をしたいと思います。 それには、v0.12で追加されたJSXのspread attributesを使うと簡単に出来ます。 テキスト付きの画像Component 例として、テキストと画像をセットにしたImageTextというComponentを考えてみたいと思います。 I/FとしてはimgのComponentに渡すものにプラスしてテキストで考えてみます。 var ImageText = React.createClass({ render() { return ( <span>{this.props.text}<img src={this.props.src} width={this.props.width} height={this.props.height} /></span> );

    Componentを拡張してみる - Qiita
  • React.jsがVirtualDOMを採用していて嬉しい事 - Qiita

    今回はReact.jsのVirtualDOMについて簡単に触れておきたいと思います。 VirtualDOMについては別途AdventCalendarがあるので詳しくはそちらを見てください。自分もReact.jsのVirtualDOMの実装について書いています。 当は↑だけでいいのですが、このAdventCalendarのどこかで触れておきたかったので重複する部分も多いですが簡単に触れておきます。 VirtualDOMの嬉しい点 JavaScriptを使ってDOMを操作して画面の表示を切り替えていくようなアプリケーションの場合、ユーザー体験を損ねないためにも更新されるDOMは最低限にしたくなります。 例えばBackbone.jsを使っていると、基的にはView単位でrenderするのでViewを細かく分割していくことが必要になります。そうなるとViewが増えて複雑さが増してきて辛くなって

    React.jsがVirtualDOMを採用していて嬉しい事 - Qiita
  • React.jsの地味だけど重要なkeyについて - Qiita

    今回はReact.jsのVirtual DOM実装の中でもユーザーが意識するべき点のkeyについて書きたいと思います。 React.jsではPropにkeyという値を指定することが出来て、Componentのリストを表示するような時につけていないとdevelopment環境だとconsole.warnで Each child in an array should have a unique "key" prop. Check the render method of KeyTrap. See http://fb.me/react-warning-keys for more information. と表示されます。 このkeyはVirtualDOMのdiffから実際のDOMに反映させるときに最小限の変更にするために使われます。 例えば var KeySample = React.creat

    React.jsの地味だけど重要なkeyについて - Qiita
  • React.jsでFormを扱う - Qiita

    今回はReact.jsでのFormの扱いについて書きたいと思います。 例えばReact.jsでは↓のようなことをすると変更出来ないテキストフィールドになってしまいます。どうしてなのかという話ですね。 // ダメ <input type="text" value="initial value" /> // ダメ <input type="text" value={this.state.textValue} /> var Text = React.createClass({ getInitialState() { return { textValue: "initial value" }; }, changeText(e) { this.setState({textValue: e.target.value}); }, render() { return ( <div> <p>{this.st

    React.jsでFormを扱う - Qiita
  • React.jsのEventについて - Qiita

    今回はDOMのイベントの扱いについて書きたいと思います。 SyntheticEvent React.jsではDOMをVirtualDOMとしてwrapしているようにDOMのイベントについてもSyntheticEventとしてwrapしていて、クロスブラウザ対応されています。 I/Fはこんな感じです boolean bubbles boolean cancelable DOMEventTarget currentTarget boolean defaultPrevented Number eventPhase boolean isTrusted DOMEvent nativeEvent void preventDefault() void stopPropagation() DOMEventTarget target Date timeStamp String type この通り、preve

    React.jsのEventについて - Qiita
  • React.jsのComponent Lifecycle - Qiita

    今回はComponentのlifecycleについて書きたいと思います。 React.jsではComponentの状態の変化に合わせて色々メソッドを呼んでくれるのでそれに合わせて初期化や後始末な処理を書くことが出来ます。 よく使うのはcomponentDidMountやcomponentWillUnmount辺りです。 イベントの登録をcomponentDidMountでやってcomponentWillUnmountで解除するというのがよく使うパターンだと思います。 componentWillMount() ComponentがDOMツリーに追加される前に一度だけ呼ばれます。 なので初期化処理を行うのに適しています。 この中でsetStateするとrender時にまとめて行われます。 server-side rendering時にも呼ばれるのでどちらでも動くコードである必要があります。 c

    React.jsのComponent Lifecycle - Qiita
  • React.js使ってみた

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    React.js使ってみた
  • React.jsでPropやStateを使ってComponent間のやりとりをする - Qiita

    今日はこれまでに紹介したPropやStateを使ったComponent間でやりとりについて書きたいと思います。 親のStateを子のPropとして渡す Componentを設計する時はまずPropとしてI/Fを考えて、そのComponentが管理すべき値で変更されるものをStateとして定義します。 つまりComponent間での親子の関係を意識して、親がStateを持っていて子にPropとして渡すというのが基になります。(子は使うだけで管理しているのは親) var User = React.createClass({ propTypes: { name: React.PropTypes.string.isRequired, id: React.PropTypes.number.isRequired }, render() { return ( <div>{this.props.id}:

    React.jsでPropやStateを使ってComponent間のやりとりをする - Qiita
    trapple
    trapple 2014/12/23
    7日目、一気に歯ごたえ出てきた。
  • 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
  • React.jsのProp - Qiita

    今回は前回にも少し登場したPropについて取り上げたいと思います。 基的な使い方 Propは基的にはCompnentのattributeとして定義してComponentの中ではthis.props.xxxとして参照する。それだけです。PropにはObjectでも関数でも何でも指定することが出来ます。 var Avatar = React.createClass({ render() { var avatarImg = `/img/avatar_${this.props.user.id}.png`; return( <div> <span>{this.props.user.name}</span> <img src={avatarImg} /> </div> ); } }); var user = { id: 10, name: "Hoge" }; // <Avatar user={us

    React.jsのProp - Qiita
  • React.jsのComponentについて - Qiita

    // ダメ render() { return ( <div>title</div> <div>contents</div> ) } // OK render() { return ( <div> <div>title</div> <div>contents</div> </div> ) } また、renderメソッドはどのタイミングで何度呼ばれるかわからないので必ず冪等性がある実装にする必要があります。 Separation of concerns? ところで、React.jsではComponentとして、マークアップとViewのロジックをcreateClassの中に書いていくのですが、他のフレームワークのようにマークアップはHTMLやmustacheで書いてViewのロジックをJSで書くみたいに分かれてなくて気持ち悪い!という人もいるのではないでしょうか? それに対して、React.j

    React.jsのComponentについて - Qiita
  • 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
  • Hello React.js - Qiita

    というわけで、今回はHello World的なComponentを作ってみたいと思います。 基的にはReact.createClassでComponentを作って、それらのComponentを組み合わせてページを作ってReact.renderでDOMと紐付けることで表示を行います。 JSXを使う JSXについては明日のAdvent Calendarで書きますが、こんな感じでJSの中にXML likeにマークアップを直接書くことが出来ます。 といってもこのままブラウザで実行すると当然エラーになるので、react-toolsを使って事前にcompileするか、http://fb.me/JSXTransformer-0.12.1.js にあるようなJSXTransformerを事前に読み込んでおく必要があります。 また、browserifyでreactifyを使うなどして変換する方法もあります

    Hello React.js - Qiita
  • 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
  • 1