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

Недавно начал учить ТС. Интересует момент, с которым часто сталкиваюсь

в Реакте:

в дочерний компонент либо функцию нужно передать данные в виде объекта. В качестве таких данных выступает объект props родительского компонента. Суть в том, что пропсы родительского компонента могут быть избыточными относительно дочернего компонента/функции, которым я эти данные передаю.

Как в таких случаях грамотно поступать? Сейчас вижу только вариант, как на втором изображении — это норм?

11 ответов

27 просмотров

От того что есть лишние поля никаких проблем не будет, главное что бы нужные совпадали Еще экстендить можно в этом случае

zdravstvujte-Mone Автор вопроса

Это да, вопрос в том, как это описать по науке? Как на втором скрине нормас?

Нет, в первом скрине ок

zdravstvujte-Mone Автор вопроса

Первый скрин будет возвращать ошибку, потому что в типе TCaption не описаны поля avatar и country

Нет не будет

zdravstvujte-Mone Автор вопроса

Type 'TProps' has no properties in common with type 'TCaption.

Ошибся где то, только что сделал тоже самое все ок https://www.typescriptlang.org/play?strict=true#code/C4TwDgpgBAGlC8UDeVgQM7AIwC4oDsBXAWwCMIAnAGlQ2ACY9MKBLfAcygF8AoUSKAE0EyNJlwES5arUyMozNuxpjgAZjxEylFXQAseABQBKeAD4AbgHsWAE248eAM0L4AxsBZX8UAB6GwCiswdDwYY2QoCghgQgofQOD0ADpVLAdnVw8vHxAAoJC8QQikHihyqJi4n39EkOMeLiA

zdravstvujte-Mone Автор вопроса

хм, спасибо, щас перепроверю

И такое чаще всего стараются делать без дублирования, у тебя Props extends Caption должно быть

zdravstvujte-Mone Автор вопроса

В моём приложении это очень геморройно будет. Там суть в том, что есть функция-хэлпер для генерации цсс БЭМ-классов, эта функция используется практически во всех реакт-компонентах. Собственно в этот хэлпер и передаётся объект props целиком.

В ts структурная типизация, так что главное что бы совпадающие поля совпадали

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

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

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