Kentavr16
@Kentavr16
long cold winter

Могу ли я инкапсулировать логику в компоненте?

Писал компонент Popup.
export default function Popup({type,text,isVisible}){

    const types = {
        "error":"bg-red-500",
        "success":"bg-green-500",
        "info":"bg-yellow-500"
    }

    return(
        <div
            className={`overflow-x-hidden fixed rounded-md p-4 text-center text-xl right-10
            bottom-20 ${types[type]} min-w-[300px] ${isVisible?"opacity-90":"opacity-0"} ${isVisible?"":"transform translate-x-[1000px]"} transition-all ease-in-out duration-1000`}>
            {text}
        </div>
    )
}

В общем простой компонент. Но его использование тянет за собой необходимость создавать стейт в родительском компоненте - isVisible,и доп. логику(таймаут) для закрытия попапа. Можно ли это инкапсулировать в сам компонент? Возможно с помощью кастомных хуков к примеру.
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
04 мая 2024, в 22:32
2000 руб./за проект
04 мая 2024, в 22:10
2001 руб./за проект
04 мая 2024, в 21:12
10000 руб./за проект