reactjs / reactjs/react.dev

Incorrect setState usage in example

Aberta
#2,739 0 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
JavaScript
Estrelas
11.8k
Forks
7.9k
Merge médio
1d 11h
PRs com merge (30d)
11

Descrição

https://reactjs.org/docs/hooks-state.html#equivalent-class-example shows

render() {
    return (
      <div>
        <p>You clicked {this.state.count} times</p>
        <button onClick={() => this.setState({ count: this.state.count + 1 })}>
          Click me
        </button>
      </div>
    );
  }

However, https://reactjs.org/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous provides the following examples, indicating that we should not use this.state.count + 1 when updating state dues to async updates:

// Wrong
this.setState({
  counter: this.state.counter + this.props.increment,
});

// Correct
this.setState((state, props) => ({
  counter: state.counter + props.increment
}));

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Compare o exemplo de state de Hooks na seção equivalent-class-example vinculada com as orientações sobre state e ciclo de vida para atualizações assíncronas. Rastreie a fonte da documentação do exemplo e, em seguida, atualize ou esclareça o exemplo para que suas orientações sobre atualizações de state sejam consistentes com o comportamento documentado das atualizações assíncronas.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
javascript, react
Domínio
documentation
Tipo de issue
Documentação
Dificuldade
2/5
Tempo estimado
1-3 horas
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.