Vuejs関数コンポーネント、あなたは持つ価値があります(1)
4930 ワード
関数コンポーネントは
次の知識点:高次関数、ステータス、インスタンス、vueコンポーネント
関数コンポーネントとは
関数コンポーネントをコンポーネントの関数として想像することができます.パラメータはレンダリングコンテキスト(render context)、戻り値はレンダリングされたHTMLです.
関数コンポーネントでは、次のように定義できます. Stateless(ステータスなし):コンポーネント自体がステータスなしの Instanceless(インスタンスなし):コンポーネント自体にインスタンスがない、つまりthis がない
関数コンポーネントが持つこの2つの特性により,高次コンポーネント(High order components)として用いることができ,高次とは他のコンポーネントを生成できるコンポーネントである.日本の高精度な親機のようです.
次の例の完全なDemo
では、関数コンポーネントを作成しましょう.
前述したように、関数コンポーネントにはthisがなく、パラメータは
Render context
上記の
上の
見て、上はES 6パラメータの解構を用いて、
イベント定義
関数コンポーネントにはインスタンスがなく、イベントは親コンポーネントのみで伝達されます.次に、
対応する
ところで、
簡単な書き方
尤大設計のApiはやはりとても人間的で、上の関連する
うん、世界がずいぶんさわやかになったような気がしますか.
これは完全な高次コンポーネントで、次は高次の魅力を小さく示します.
はい、簡単に
The end
上は関数式コンポーネントの基礎定義と基本的な使用について、あなたたちの学習に役立つことを望んでいます.
広告を出す
会社は今急いで先端の開発を募集して、座標深セン南山、興味があるのはここを見て、直接履歴書を私のメールボックスに送ってください[email protected]
React
コミュニティで流行していますが、vueではどう使いますか.次の知識点:高次関数、ステータス、インスタンス、vueコンポーネント
関数コンポーネントとは
関数コンポーネントをコンポーネントの関数として想像することができます.パラメータはレンダリングコンテキスト(render context)、戻り値はレンダリングされたHTMLです.
関数コンポーネントでは、次のように定義できます.
関数コンポーネントが持つこの2つの特性により,高次コンポーネント(High order components)として用いることができ,高次とは他のコンポーネントを生成できるコンポーネントである.日本の高精度な親機のようです.
次の例の完全なDemo
では、関数コンポーネントを作成しましょう.
functional: true
にrender function
を加えると、最も簡単な関数コンポーネントです.show your the code、FunctionButton.js
という関数コンポーネントを作成します.export default {
name: 'functional-button',
functional: true,
render(createElement, context) {
return createElement('button', 'click me')
}
}
前述したように、関数コンポーネントにはthisがなく、パラメータは
context
で伝達されています.次に、context
の属性を見てみましょう.Render context
props
children
slots
(a slots object) parent
listeners
injections
data
上記の
data
には、他の属性の参照、nibilityが含まれています.次の例では、具体的に使用します.App.vue
を作成して、上記の関数コンポーネントを導入します.<template>
<FunctionalButton>
click me
FunctionButton>
template>
上の
click me
はFunctionButton.js
のchildern
属性です.コンポーネントを改造して、App.vue
によってコンポーネントのbuttonボタンを定義することができます.export default {
name: 'funtional-button',
functional: true,
render(createElement, { children }) {
return createElement('button', children)
}
}
見て、上はES 6パラメータの解構を用いて、
{children}
の代わりにcontext
を用いた.イベント定義
関数コンポーネントにはインスタンスがなく、イベントは親コンポーネントのみで伝達されます.次に、
App.vue
で最も簡単なclick
イベントを定義します.
Click me
対応する
FunctionalButton.js
export default {
functional: true,
render(createElement, { props, listeners, children }) {
return createElement(
'button',
{
attrs: props,
on: {
click: listeners.click
}
},
children
);
}
};
ところで、
createElement
のイベント属性はon
です.具体的にはvue
の公式文書をご覧ください簡単な書き方
尤大設計のApiはやはりとても人間的で、上の関連する
props
、listeners
そんなに多く伝達しなければならないので、面倒ではありませんか、だから尤大統一はこの属性をdata
に集積して、私達は更に書き直すことができますexport default {
functional: true,
render(createElement, { data, children }) {
return createElement( 'button', data, children );
}
};
うん、世界がずいぶんさわやかになったような気がしますか.
これは完全な高次コンポーネントで、次は高次の魅力を小さく示します.
createElement('button', data, ['hello', ...children])
はい、簡単に
hello
付きbuttonボタンをDIYしました.The end
上は関数式コンポーネントの基礎定義と基本的な使用について、あなたたちの学習に役立つことを望んでいます.
広告を出す
会社は今急いで先端の開発を募集して、座標深セン南山、興味があるのはここを見て、直接履歴書を私のメールボックスに送ってください[email protected]