2016-12-20 2 views
0

У меня есть компонент React, написанный в TypScript 2.0.6 + JSX (TSX), который должен использовать LinkedStateMixin. Как включить mixin в определение класса? Я безуспешно обыскал официальную документацию. Есть ли способ включить mixin в мой класс компонентов?Как использовать mixins с TypScript и React JSX (TSX)

Примечание: Я использую ReactJS v0.14.6

ответ

0

К сожалению, React официально отошел от подмешать шаблона: https://facebook.github.io/react/blog/2016/07/13/mixins-considered-harmful.html. Вы все равно можете использовать их, если не используете элементы реакции стиля ES6. Однако, если вам действительно нужно, вы можете использовать эту библиотеку: https://github.com/brigand/react-mixin

1

Я не знаю, если вы знаете о Mixins текущее состояние ... так: https://facebook.github.io/react/blog/2016/07/13/mixins-considered-harmful.html

Рассмотрим обновление Реагировать v15.4.0 и используйте компоненты высокого порядка.

Вы предупрежден

, кстати, если вам действительно нужно. Установите этот подмешать: 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