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
}