LinkedStateMixin を使用する必要がある Typescript 2.0.6 + JSX (TSX) で記述された React コンポーネントがあります。クラス定義に mixin を含めるにはどうすればよいですか? 公式ドキュメントを検索しても成功しませんでした。コンポーネント クラスに mixin を含める方法はありますか?
注: ReactJS v0.14.6 を使用しています
LinkedStateMixin を使用する必要がある Typescript 2.0.6 + JSX (TSX) で記述された React コンポーネントがあります。クラス定義に mixin を含めるにはどうすればよいですか? 公式ドキュメントを検索しても成功しませんでした。コンポーネント クラスに mixin を含める方法はありますか?
注: ReactJS v0.14.6 を使用しています
ミックスインの現在の状態について知っているかどうかはわかりません...だから: https://facebook.github.io/react/blog/2016/07/13/mixins-considered-harmful.html
React v15.4.0 へのアップデートを検討し、高次コンポーネントを使用してください。
あなたは警告されました
ちなみに、本当に必要な場合。この mixin:npm install react-addons-linked-state-mixin
をインストールし、次のようにして、目的を達成します。
// choose one way :P
import LinkedStateMixin from 'react-addons-linked-state-mixin' // ES6
var LinkedStateMixin = require('react-addons-linked-state-mixin') // ES5 with npm
var LinkedStateMixin = React.addons.LinkedStateMixin; // ES5 with react-with-addons.js
var WithLink = React.createClass({
mixins: [LinkedStateMixin],
getInitialState: function() {
return {message: 'Hello!'};
},
render: function() {
return <input type="text" valueLink={this.linkState('message')} />;
}
});
https://facebook.github.io/react/docs/two-way-binding-helpers.html#linkedstatemixin-before-and-after
残念ながら、React は正式に mixin パターンから離れました: https://facebook.github.io/react/blog/2016/07/13/mixins-considered-harmful.html。ES6 スタイルの反応コンポーネントを使用していない場合でも、それらを使用できます。ただし、本当に必要な場合は、次のライブラリを使用できます: https://github.com/brigand/react-mixin