Как перебирать дочерние элементы компонента в TypeScript React?
Как выполнить итерацию через дочерние элементы компонента React в Typescript tsx?
будет действительным jsx:
public render() {
return (
<div>
{React.Children.map(this.props.children, x => x.props.foo)}
</div>
);
}
однако в Typescript тип x равен React.ReactElement<any>
поэтому у меня нет доступа к реквизиту. Есть ли какой-то кастинг, который мне нужно сделать?
2 ответов
однако в Typescript типом x является React.ReactElement так у меня нет доступа к бутафории. Есть ли какой-то кастинг, который мне нужно сделать?
Да. Также предпочитаю термин assertion
. Быстрый:
React.Children.map(this.props.children, x => (x as any).props.foo)
используя any
обычно следует избегать, поскольку вы теряете информацию о типе.
вместо того, чтобы использовать React.ReactElement<P>
в типе параметра функции:
React.Children.map(this.props.children, (child: React.ReactElement<ChildPropTypes>) => child.props.bar)