reactjs / reactjs/react.dev

The example in hooks-faq "is-there-something-like-forceupdate" is wrong

Aberta
#2,410 0 comentários 0 reações 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

Direct link: https://reactjs.org/docs/hooks-faq.html#is-there-something-like-forceupdate

The example says

const [ignored, forceUpdate] = useReducer(x => x + 1, 0);

  function handleClick() {
    forceUpdate();
  }

But this makes typescript report an error. (The typescript types are provided by the react team itself right? otherwise I might need to file a bug with the team maintaining the types)

Possible fixes:

const [ignored, forceUpdate] = useReducer(x => x + 1, 0);

  function handleClick() {
    forceUpdate("something"); //I added an argument here
  }

will pass the type checker

const [ignored, forceUpdate] = useState(0); //useState instead of useReducer

  function handleClick() {
    forceUpdate(x => x + 1); //calculate function
  }

is also ok (and a bit nicer IMHO)

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

Abra a seção vinculada da Hooks FAQ, “Is there something like forceUpdate?”, e inspecione o exemplo de useReducer mostrado. Verifique o exemplo com TypeScript e atualize-o usando uma das alternativas de verificação de tipos descritas na issue. A tarefa estará concluída quando o exemplo da documentação não produzir mais o erro de TypeScript relatado.

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
1/5
Tempo estimado
Menos de uma hora
Status de atividade
Estagnada
Clareza
Claramente especificada
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.