ミスリルで新しいコンポーネントを作成するとき、vnode.attrs.value
とvnode.state.value
の違いは何ですか?ミスリル:vnode.attrsとvnode.stateの違い
1
A
答えて
3
documentationに述べたように:
状態
再描画の間に保持されたオブジェクト。必要に応じてコアエンジン によって提供されます。 POJOコンポーネントのvノードでは、状態はコンポーネントオブジェクト/クラスからプロトタイプ的に を継承します。クラスコンポーネント vnodeでは、クラスのインスタンスです。クロージャコンポーネントでは、クロージャによって返されるオブジェクトは です。
ATTRS
DOM属性、イベント、プロパティおよびライフサイクルメソッドのハッシュマップ。
たとえば、このコードを見てください。
class Hello {
constructor(height, width) {
this.txt = 'from state'
}
view (vnode) {
console.log(vnode.state)
return m("main", [
m("h1", {class: "title"}, "This come "+vnode.attrs.txt),
m("h1", {class: "title"}, "This come "+vnode.state.txt)
])
}
}
m.mount(root, {view: function() {return m(Hello, {txt: 'from attribute'})}})
出力は状態がコンポーネントのコンストラクタから初期化されていることを示します。代わりにattrsはm()から渡されます。
一般的に、attrsを使用して、コンテキスト内でオブジェクトを使用するときにattrsを使用してデータを渡すことができます(例:ajax用のコンポーネントへのURLを渡します)。代わりに、状態を使用して、再描画を介してコンポーネントのローカルデータを永続化します(例:リセットpurpouseのフィールド初期状態)
関連する問題
- 1. ルートが変更されたときにミスリルのコンポーネントが更新されない
- 2. ミスリルの簡単な例がReactJSを要求する
- 3. ミスリル:あるDOM要素を別のDOM要素のベースにします
- 4. 「 '」と「'」の違い
- 5. {!!の違い!!}と{{}}
- 6. 違いダウンケースとダウンケースの違い! Rubyで
- 7. Open GL ES - GLenumとGlintの違いとGLintとGLsizeiの違い
- 8. PythonとPandasの違いの相違点
- 9. Cycle.js(virtual-dom)はReactのリファレンスやミスリルのconfigプロパティのようなものをサポートしていますか?
- 10. $ @と$の違い! perl
- 11. g ++との違い
- 12. "!"の違いと "。"オペレータ
- 13. Kafka - DefaultPartitionerとMessageKeyの違いとカスタムパーティショナーの違い
- 14. BroadcastReceiverとインテントとの違い
- 15. posix_memalignとmmapとの違い
- 16. Node.jsとtomcatとの違い
- 17. とnewgemとの間違い
- 18. OAuth2とOmniauthとの違い
- 19. ローカルRデータフレームとSparkRデータフレームとRDDとの違いと相違
- 20. 違いとMVC
- 21. 違い>と=
- 22. 弱いとunsafe_unretainedの違い
- 23. - '' の使用の違いと ""
- 24. MemberInitとのパフォーマンスの違い
- 25. javascriptの+ =と= +の違い
- 26. Bashの$ *と$ @の違い
- 27. の違い[、]と[] [] C#の
- 28. PHPの::と - の違いは?
- 29. CSSのプロパティの違いは、Firefox 3.1と3.5の違いは?
- 30. httpとデフォルトのservemuxの違いは?この違いは何