reactjs / reactjs/react.dev

React docs on "Building Your Own Hooks"

Aberta
#2,939 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

Please provide guidance if returning elements (or ()=>elements) from custom hook is a good practice or not.

We have a PageLayout component like the following in our own app:

    <PageLayout
      topBarButtons={..}
      onRender={..}
    />

We want to encapsulate topBarButtons and onRender logic within a custom hook, so that the hook is reusable and shippable without PageLayout. (topBarButtons and onRender will share some state, and useOurHook returns [topBarButtons, onRenderFunc]).

This works fine, if not perfect, for me. But since there are so few custom hook example that returns UI elements (or function that returns UI elements like onRender), the team have doubt about this pattern.

I know the doc has the following statement, but I think this is a very common scenario that deserves a sentence or two in the React docs.

"useYourImagination()
Custom Hooks offer the flexibility of sharing logic that wasn’t possible in React components before. You can write custom Hooks that cover a wide range of use cases like form handling, animation, declarative subscriptions, timers, and probably many more we haven’t considered."

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

Comece pela página de documentação "Building Your Own Hooks" e revise as orientações e os exemplos existentes sobre Hooks personalizados. Adicione uma explicação concisa sobre se retornar elementos ou funções que retornam elementos é um padrão apropriado, incluindo o cenário de estado compartilhado descrito aqui; a página deve responder à pergunta da equipe sem exigir o contexto específico da aplicação deste issue.

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
50/100

Receba novas issues na sua caixa de entrada

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