169 похожих чатов

Подскажите как решается проблема При создании компонента, который принимает 1 проп

- JSX.Element — передаваемый JSX не хочет работать с состоянием

Например:

const Component = () => {
const [loading, setLoading] = useState(false)

return <ChildComponent preloader={loading ? <Preloader /> : null} />
}

Пример не будет работать корректно, изменение состояния не будет работать внутри пропа preloader

Как это фиксить?

6 ответов

5 просмотров
whyamsx- Автор вопроса

Не проще У меня есть созданный компонент хедера для приложения и там есть 2 пропса для левого и правого компонента (это мобильное приложение) Не хоттелось бы создавать несколько хедеров под разные левые и правые компоненты

whyamsx
Не проще У меня есть созданный компонент хедера дл...

Как вариант placeholder = useState(null) При необходимости usePlaceholder(<Preloader />) и в пропсы передавай preloader={placeholder} и выводи его в компоненте

прокидывать loading в ChildComponent

whyamsx- Автор вопроса
Илюша 🎂
прокидывать loading в ChildComponent

просто юзануть я его там не смогу вот в чем прикол у меня левый компонент состоит из аватарки и имени юзера, у аватарки свой прелоадер у никнейма свой отдельно, я так понял в моем случае это вообще не фиксится и придется тупо создавать еще один хедер и в него принимать детей без пропсов

whyamsx
просто юзануть я его там не смогу вот в чем прикол...

В идеале нужно создать компонент к примеру Cell куда передавать аватрку и никнейм. И пока их нет, отображать плейсхолдер

whyamsx- Автор вопроса
Mark Davydkin
В идеале нужно создать компонент к примеру Cell ку...

Да но аватарка и никнейм загружаются вообще из разных источников и в этом тоже загвоздочка, я могу показать автарку раньше никнейма и наоборот

Похожие вопросы

Обсуждают сегодня

комрады, че-та лыжы не едут var tmpFont: TFont; begin tmpFont:= TFont.Create; try case rgFontColor.ItemIndex of 0: tmpFont.Color:= clWindowText; 1: tmpFo...
Ed Doc
34
Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
Можно вообще написать: Person fName' lName' age'. Тогда действительно имена полей потребуются лишь в строковом виде, чтобы эти fName' и т.д. достать :-) Но разве для этого нуж...
Михаил
8
generic procedure function test<T>(param: T); type case T of longint: NewT = word; longword: NewT = byte; end; var v1: NewT; Как это можно сделать? Чтобы у меня...
notme
21
Делал задачу вот такую https://stepik.org/lesson/4985/step/9?unit=1083 получилось такое https://play.haskell.org/saved/ipKrepqe оно работает, тестов много не писал, но работае...
Fedor
22
преобразовать в число или в один тип?
Alexey Kulakov
11
Hello everyone I am trying to run 4 year old project and I am having this issue anyone can help?
Nitish Garg
10
Всем привет, прошу совета по сложившейся ситуации: Windows приложение подключается к БД MySQL используя Firedac. При работе с версией MySQL 5.7 все отлично, но когда подключаю...
Constantine
6
Всем добрый вечер. Нужна помощь с прикруткой telegram-vapor-bot к проекту Vapor. Удалось после старта приложения отправить тестовое сообщение в бот, вот только сразу после это...
advanc3d
3
program Project1; procedure generic_proc<T>(); begin end; begin generic_proc<Int64>(0); end. Я чет не понял, а как в Delphi сделать такое? процедуру-дженерик... PS: а на...
notme
10
Карта сайта