- JSX.Element — передаваемый JSX не хочет работать с состоянием
Например:
const Component = () => {
const [loading, setLoading] = useState(false)
return <ChildComponent preloader={loading ? <Preloader /> : null} />
}
Пример не будет работать корректно, изменение состояния не будет работать внутри пропа preloader
Как это фиксить?
Не проще У меня есть созданный компонент хедера для приложения и там есть 2 пропса для левого и правого компонента (это мобильное приложение) Не хоттелось бы создавать несколько хедеров под разные левые и правые компоненты
Как вариант placeholder = useState(null) При необходимости usePlaceholder(<Preloader />) и в пропсы передавай preloader={placeholder} и выводи его в компоненте
прокидывать loading в ChildComponent
просто юзануть я его там не смогу вот в чем прикол у меня левый компонент состоит из аватарки и имени юзера, у аватарки свой прелоадер у никнейма свой отдельно, я так понял в моем случае это вообще не фиксится и придется тупо создавать еще один хедер и в него принимать детей без пропсов
В идеале нужно создать компонент к примеру Cell куда передавать аватрку и никнейм. И пока их нет, отображать плейсхолдер
Да но аватарка и никнейм загружаются вообще из разных источников и в этом тоже загвоздочка, я могу показать автарку раньше никнейма и наоборот
Обсуждают сегодня