/ / Come usare mixins con Typescript e React JSX (TSX) - reactjs, typescript, react-jsx, tsx

Come usare mixins con Typescript e React JSX (TSX) - reactjs, typescript, react-jsx, tsx

Ho un componente React scritto in Typescript 2.0.6 + JSX (TSX) che deve fare uso di LinkedStateMixin. Come includo il mixin nella mia definizione di classe? Ho cercato la documentazione ufficiale senza successo. C'è un modo per includere un mixin nella mia classe componente?

Nota: sto usando ReactJS v0.14.6

risposte:

1 per risposta № 1

Non so se conosci lo stato attuale dei mixins ... quindi: https://facebook.github.io/react/blog/2016/07/13/mixins-considered-harmful.html

Considerare l'aggiornamento a React v15.4.0 e utilizzare i componenti di ordine superiore.

Sei stato avvertito

a proposito, se ne hai davvero bisogno. Installa questo mixin: npm install react-addons-linked-state-mixin e fai qualcosa di simile per realizzare ciò che vuoi:

// 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


0 per risposta № 2

Sfortunatamente, React si è ufficialmente allontanato dal modello di mixaggio: https://facebook.github.io/react/blog/2016/07/13/mixins-considered-harmful.html. Puoi ancora usarli se non stai usando i componenti di reazione di stile ES6, ma se ne hai davvero bisogno, puoi usare questa libreria: https://github.com/brigand/react-mixin