You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Предлагаю добавить возможность типизировать множество ключей, чтобы при использовании можно было избежать ошибок:
указания неправильного названия ключа (опечатки, и т.д)
повтора ключей в регистре
Это позволит хранить интерфейс в одном месте и удобно работать с этим в клиентском приложении, уменьшить количество ошибок и улучшить поддерживаемость кодовой базы
The text was updated successfully, but these errors were encountered:
devsnice
changed the title
@bem-react/di: добавить возможность типизировать множество ключей компонент, которые хранятся в регистре
@bem-react/di: добавить возможность типизировать множество ключей компонентов, которые хранятся в регистре
Feb 15, 2019
Привет! Сейчас уже реализовано нечто похоже в типизированном консьюмере ComponentRegistryConsumer, но только не через enum. Вот пример:
interfaceIComponentRegistry{Control: typeofControl}<ComponentRegistryConsumerid={cn()}>{({ Control }: IComponentRegistry)=>(<Control/>)}</ComponentRegistryConsumer>
Если же тебе нужно использовать внутри компонента несколько реестров, ты можешь использовать снепшот реестра передав ему дженерик:
interfaceIComponentRegistry{Control: typeofControl}constregistry=registries[cn()]const{ Control }=registry.snapshot<IComponentRegistry>()
Так же у нас есть задача на то, чтобы проверять правильность устанавливаемых ключей на основании интерфейса: #386
В текущей реализации, компоненты хранятся в регистре с интерфейсом
Предлагаю добавить возможность типизировать множество ключей, чтобы при использовании можно было избежать ошибок:
Это позволит хранить интерфейс в одном месте и удобно работать с этим в клиентском приложении, уменьшить количество ошибок и улучшить поддерживаемость кодовой базы
Пример использования
registry.ts
app.tsx
The text was updated successfully, but these errors were encountered: