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

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

в Реакте:

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

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

11 ответов

13 просмотров

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

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 структурная типизация, так что главное что бы совпадающие поля совпадали

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

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

Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
@sand_witch скорее к тебе вопрос, добавил в .cabal webdriver-w3c и вот такая ошибка от nix develop error: Package ‘script-monad-0.0.4’ in /nix/store/7vdxbra0kwbr0ys0kc5...
Fedor
5
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Карта сайта