Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Posso utilizar a função "setSelecionado" do useState que está no App, ao invés de criar uma função (selecionaTarefa) e passar como props?

const [selectedTask, setSelectedTask] = useState<ITask>();

<List tasks={tasks} setSelectedTask={setSelectedTask} />

usar o Hooks direto seria uma boa pratica? Qual motivo de criar uma função para mudar o estado da tarefa selecionada?

function handleSelectTask(selected: ITask) {
    setSelectedTask(selected);
  }
  
  <List tasks={tasks} handleSelectTask={handleSelectTask} />

Valeuuuu :)

1 resposta
solução!

Oi Thalisses, tudo bem?

Utilizar o setSelecionado do useState diretamente no componente App ao invés de criar uma função separada e passá-la como prop pode ser uma boa prática, dependendo do contexto e da complexidade do seu código.

Ao utilizar o setSelecionado diretamente, você está aproveitando o poder do useState e mantendo o estado da tarefa selecionada dentro do componente App. Isso pode ser útil se você precisa acessar ou manipular esse estado em outros lugares do seu aplicativo.

Por outro lado, criar uma função separada, como handleSelectTask, e passá-la como prop para o componente List pode ser uma boa prática em termos de organização e reutilização de código. Essa abordagem permite que você tenha um controle mais granular sobre a lógica de seleção da tarefa, separando-a do componente principal App.

Ambas as abordagens têm seus prós e contras, e a escolha depende do contexto específico do seu projeto. Se você acha que a lógica de seleção da tarefa é simples e não precisa ser reutilizada em outros lugares, utilizar o setSelecionado diretamente pode ser uma opção válida. Por outro lado, se você acredita que essa lógica pode se tornar mais complexa ou precisa ser reutilizada em outros componentes, criar uma função separada pode ser uma escolha mais adequada.

Espero ter ajudado.

Um abraço e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software