У меня есть компонент реагирования, который должен передать метод своим дочерним элементам, чтобы они могли изменять состояние. Поэтому я создал функцию, которая позволяет это делать. Я знаю, что должен связать родительский компонент с параметром this
функции, чтобы дети могли успешно изменять состояние. Причина, по которой я хочу это сделать, глупа: я просто не знаю, как назвать связанную версию ¯ \ _ (ツ) _ / ¯. Итак, что я хотел сделать:
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.modifyState = this.modifyState.bind(this);
}
modifyState() { /* blah blah*/ }
render() {
return(
<Child modifyState={this.modifyState} />
);
}
}
Теперь мой вопрос: есть ли причина, по которой я действительно не хочу этого делать, это может вызвать какие-то проблемы?
Причина Я спрашиваю: если бы не было недостатков, почему бы не использовать его по умолчанию, в других языках this
всегда является экземпляром класса, в котором определена функция (метод). Если вам нужно текущее поведение (this
- это объект, который вызвал функцию из моего понимания), просто объявите глобальную функцию.