Custom hook example has missing dependency
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 1/5
- Tempo estimado
- Menos de uma hora
- Facilidade para iniciantes
- 70/100
- Tipo de issue
- Documentação
- Clareza
- Claramente especificada
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript, react
- Domínio
- documentation
Direção de pesquisa
Abra content/docs/hooks-custom.md e inspecione o exemplo de useFriendStatus() próximo à linha 91. Atualize a lista de dependências do exemplo conforme descrito e, em seguida, verifique se a documentação é renderizada corretamente e se o exemplo mostra a dependência pretendida.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Regarding 'Building Your Own Hook' page (github link).
Small but critical mistake in custom hook example for function useFriendStatus(). It needs a dependency. I.E.
Change line 91 by inserting , [friendID].
Without the dependency this appears to be 'magic'. I found I had to add a dependency when writing my learning hook, otherwise my counter just spins indefinitely.
Example
Custom hook:
function useCounter(targetId: string) {
const [counter, setCounter] = useState(0);
useEffect(() => {
setCounter(counter+1);
}, [targetId]);
return counter;
}
Client code:
interface MainProps {
counterTargetId: string;
}
export default function MainPage(props: MainProps = {
counterTargetId: 'a',
}) {
const currentCount = useCounter(props.counterTargetId);
return (<div>
<p>
Count: {currentCount}
</p>
</div>);
}
function App() {
const [targetId, setTargetId] = useState('a');
return (
<div className="App">
<input
type="button"
value="Toggle"
onClick={() => setTargetId(targetId === 'a' ? 'b' : 'a')}/>
<MainPage counterTargetId={targetId}/>
</div>
)
}
- Linguagem predominante
- JavaScript
- Estrelas
- 11.8k
- Forks
- 7.9k
- Merge médio
- 16h 6min
- PRs com merge (30d)
- 7
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de reactjs/react.dev
-
type: documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
-
bug: unconfirmed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
-
type: typos
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
-
bug: unconfirmed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Todas as issues de reactjs/react.dev
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
HarperFast/skills#96 ·
-
[Block] Latest Posts [Type] Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
Daemon passes --experimental-wasm-jspi unconditionally on Node >= 24; Node 26 rejects the flag Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Automattic/studio#4908 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
sugarlabs/musicblocks#8847 ·