TypeScript
2
Вклад в тег
li внутри ul.menu (любая вложенность):ul.menu li {
// code
}li непосредственно внутри ul.menu (первый уровень вложенности):ul.menu > li {
// code
}как правильно записать порядок
Box, который принимает как props развернутый объект box:type Box = {
name: string;
date: string;
image: string;
};
// можно сразу указать что props будет иметь тип Box, но я так не привык делать
// всегда описываю тип Props для объекта props
type Props = Box;
export default function Box(props: Props) {
const {name, date, image} = props;
}{data.map((box) => (
<Box
name={box.name}
date={box.date}
image={box.image}
/>
))}{data.map((box) => (
// поля объекта box сразу стали полями props
// и про key не забудь внутри цикла map
<Box key={?} {...box} />
))}Box, который принимает как props обычный объект, где box является вложенным объектом:type Box = {
name: string;
date: string;
image: string;
}
type Props = {
box: Box;
};
export default function Box(props: Props) {
const {name, date, image} = props.box;
}{data.map((box) => (
// объект box передается как props.box
// и про key не забудь внутри цикла map
<Box key={?} box={box} />
))}React.memo (если его, конечно, нужно использовать).
React с обычным JavaScript и решил использовать сразу его с TypeScript. JSX код действительно крайне странный, но даже если учитывать этот факт - не понимаю о какой вложенности типов идет речь)React сразу с типизацией, то лучше вернуться к обычному JavaScript и хорошенько понять как работают компоненты, их состояния и пропсы, которые эти компоненты принимают - по прошлому Вашему вопросу было понятно что Вы с этим пока не очень хорошо разобрались.React же имеется отличная обновленная документация, где сразу после небольшой теории ты можешь на практике последовательно сделать небольшую игру "Крестики-Нолики".JavaScript, где ты описываешь то, с какими данными ты сейчас работаешь и что они содержат. type Slide = {
img: string;
alt: string;
}
type Slider = {
data: Slide[]; // data - массив объектов типа Slide
}