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

Подскажите плз, контекст это плоская штука или можно делать много

инстансов контекста конкретного типа?

13 ответов

23 просмотра

const xContentCreator = ()=> React.createContext<XContext | null>(null); const xContext1 = xContentCreator(); const xContext2 = xContentCreator(); ...

Aleksandr-Moskvitin Автор вопроса

шта

Ну ты спрашивал как много конетекстов заданного типа делать, вот тебе creator для этого

Aleksandr-Moskvitin Автор вопроса

точ что можно криэйт контекст много раз вызвать это дяже я понимаю, вопрос не в том,. вопрос в том созданный однажды контекст является плоским и всегда содержит одно и тоже значение, или можно как-то обеспечить разные области видимости

А что значит плоский?

Aleksandr-Moskvitin Автор вопроса

значит что содержит одно значение не зависимо от своего места в иерархии

У меня есть одна идея. Идея конечно может быть и тухлая, потому что у меня сегодня мозги не очень работают. В общем контекст храним в состоянии компонента, который являеться корнем дерева элементов. Каждый корень будет работать со своим экземпляром. Теоретически код должен быть одинаковым и "без огорода". Надо будет проспаться и как нибудь попробовать)))

Aleksandr-Moskvitin Автор вопроса

если это связано с созданием экземпляров через криэйт контекст то ты упрешься в то что тебе нужно будет научить экземпляры компонентов отличать свои контексты (если я вообще правильно понял о чем ты)

const [xContext, setXContext] = useState(React.createContext<XContext | null>(null)); ... return <xContext.Provider value={xContextData}> ... </xContext.Provider> Возможно нужны буду проверки дополнительные на null

Или контекст присваивать внутри useEffect

Ну или както через ref, в общем подумать надо

Aleksandr-Moskvitin Автор вопроса

ну я сейчас так и делаю, у меня компонент формы, я в ефекте беру имя формы и сандалю в контекст ссылку на инстанс а когда мне нужно ее засабмитить из вне, я беру контекст и ctx.submit('name', success, fail)

Ну а сам контекст у тебя где создаеться? Внутри компонента или снаружи?

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

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

Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
9
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Карта сайта