Как использовать this.state внутри экспортированной функции в ReactJS - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь использовать this.state из экспортируемой функции внутри компонента App. Метод связывания не работает. Есть идеи?

Я пытался:

внутри error-handler.js

    export function errorHandler() {
    console.log(this.state);
}

внутри приложения.js

   ...

   import { errorHandler } from '../../helpers/error-handler';

   class App extends React.Component {
   constructor(props) {
       super(props);
       this.errorHandler = errorHandler.bind(this);
   }

   ...

Результат при попытке запуска errorHandler () внутри App.js:

"Cannot read property 'bind' of undefined"

Спасибо за помощь.

Ответы [ 2 ]

1 голос
/ 08 ноября 2019

errorHandler - это просто экспортируемая функция. Таким образом, вы должны связать метод, как показано ниже.

constructor(props) {
    super(props);
    this.errorHandler = errorHandler.bind(this); // bind event
}
...
...

<input 
 {...props}
 onClick={e => this.errorHandler()} // call method
/>
1 голос
/ 08 ноября 2019
this.errorHandler = errorHandler.bind(this);

, поскольку вы только что экспортировали функцию, она еще не является частью вашего класса

...