Объявите setState через функцию - PullRequest
0 голосов
/ 16 марта 2020

Невозможно объявить setState через функцию. И я не могу понять, в чем ошибка.

import React, { Component } from 'react';
export default class App extends Component {
  state = {
    text: ' ',
  };

  render() {
    const text = () => {
      this.setState({ text: 'Good afternoon' });
    };

    return(

    )
  }
}

Ответы [ 3 ]

0 голосов
/ 16 марта 2020

Пожалуйста, перенесите текст функции за пределы функции рендеринга.

export default class App extends Component {
state = {
    text: ' ',
};

//function in here
text = () => {
    this.setState({ text: 'Good afternoon' });
}


render() {

    return ()
}

}

0 голосов
/ 16 марта 2020

В любом случае, когда я передаю текст функции за пределы рендеринга, setState не работает.

0 голосов
/ 16 марта 2020

Функции и setState должны находиться за пределами жизненного цикла рендеринга. Дополнительная информация: https://reactjs.org/docs/state-and-lifecycle.html

Руководство по SetState: https://blog.logrocket.com/an-imperative-guide-to-setstate-in-react-b837ceaf8304/

import React, { Component } from 'react';
export default class App extends Component {

state = {      
      text: " "
   }

const text = () => {
         this.setState({text: "Good afternoon"})
      }

   render() {

return(

)

}
}
...