Каков рекомендуемый способ повторного использования методов внутри компонентов ES6 React?

#reactjs #design-patterns

#reactjs #шаблоны проектирования

Вопрос:

Команда React не рекомендует использовать mixins. Их предложение в отношении служебных методов заключается в том, чтобы поместить их в модуль и импортировать. Я был бы рад сделать это, но их пример не показывает, как это сделать, когда вам нужно this .

Таким образом, я обнаруживаю, что постоянно копирую этот метод,

 updateState = updates => {
    this.setState(state => update(state, updates));
};
  

И несколько других во всех моих компонентах. Есть ли лучший, не устаревший способ повторного использования «методов»?

Под «методом» я подразумеваю нестатическую функцию, использующую this .

Ответ №1:

Свойства класса ES7 узнать больше

     // updateState.js
    function updateState() {
        this.setState(state => update(state, updates));
    };

    // App.js
    import updateState from './updateState.js'

    class App extends Compnent {
        updateState = updateState.bind(this);
    }