2016-10-05 16 views
-1

私はReactを学習していますが、Reactを使用せずに状態の変化を再描画する方法があるかどうか疑問に思っています。これはプレーンJavaScriptで可能ですか?JavaScriptの状態が反応なし

+3

Reactでコードがどのように機能しているか知りたい場合は、Reactが使用するコードを読むことをお勧めします。 –

+0

[redux](https://github.com/reactjs/redux)または[mobx](https://github.com/mobxjs/mobx)?どちらもフレームワークにとらわれないものです –

+1

本当に欲しいものと必要なものを知っておく必要があります。本当に再発明する必要がありますか?どのフレームワークやライブラリでも私の問題を解決できますか? –

答えて

0

は、私たちの全体のアプリケーションがこのであると仮定してみましょう:

<input id="myState" /> 
<h2 id="myView"></h2> 

私たちは状態を呼び出し、我々はビューを呼び出す値のいくつかの並べ替えを持っている価値のいくつかの並べ替えを持っています。今私たちが望むのは、私たちの状態を更新するときに、私たちのビューを更新したいということです。はい、それはReact/Redux/etcがなければ絶対に可能です。

window.onload = function(){ 
    var state = document.getElementById('myState'), 
      view = document.getElementById('myView') 
    state.addEventListener('keyup',function(e){ 
     view.innerText = e.target.value 
    }) 
} 

アプリケーションの「状態」が変更されるたびに、「表示」がリセットされます。

このダミーの問題を過ぎると、React/Angular/Ember/Backbone/etcのすべての問題を解決するために問題が発生します。

バニラJSでできますか?はい、他の誰かがすでにvanilla JSでそれをしていたからです。

+0

私は昨夜の会合でこれについて話し合いましたが、あなたにも同様の回答がありました。 React/Reduxはそれを簡単にしますが、どちらもjavascriptなので、技術的にはあなたが望む機能を取り除くためのミニフレームワークを書くことができますが、肥大していない限り、これを行うフレームワークを使うべきです。 –

+0

私は本当にあなたのUIがどれほど狂っているかにかかっています。フィルタリング/デッサウしたい〜100個の要素の一覧だけであれば、バニラJSでフィルタリングして再描画するのは簡単です。あなたが本格的なSPAを望むなら、それはより楽しくなるが、あなたは再びライブラリを構築することになる。あなたが得るものを与える。 –

関連する問題