@types/react
рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реБрдИрдВредDefinitions by:
рдореЗрдВ index.d.ts
) рддрд╛рдХрд┐ рд╡реЗ рдХрд░ рд╕рдХреЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛.рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХ
const SFC: React.StatelessComponent = (props) => props.children;
class C extends React.Component {
render() {
return this.props.children;
}
}
рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджреЗрдВ
Type '(props: { children?: ReactNode; }) => ReactNode' is not assignable to type 'StatelessComponent<{}>'.
Type 'ReactNode' is not assignable to type 'ReactElement<any> | null'.
Type 'undefined' is not assignable to type 'ReactElement<any> | null'.
Class 'C' incorrectly extends base class 'Component<{}, {}>'.
Types of property 'render' are incompatible.
Type '() => ReactNode' is not assignable to type '() => false | Element | null'.
Type 'ReactNode' is not assignable to type 'false | Element | null'.
Type 'undefined' is not assignable to type 'false | Element | null'.
рдпрджрд┐ рдЖрдк children
рдХреЛ Element
рдореЗрдВ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдкреНрд░рджрд╛рддрд╛ рдШрдЯрдХ рдмрдирд╛рддреЗ рд╕рдордп children
рд▓реМрдЯрд╛рдирд╛ рдХрд╛рдлреА рдЖрдо рд╣реИ рдЬреЛ рдХрд┐ context
рдореЗрдВ рдХреБрдЫ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рдореИрдВрдиреЗ index.d.ts
. рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реБрдзрд╛рд░реЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА
- render(): JSX.Element | null | false;
+ render(): ReactNode;
- (props: P & { children?: ReactNode }, context?: any): ReactElement<any> | null;
+ (props: P & { children?: ReactNode }, context?: any): ReactNode;
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╣рд░ рдЬрдЧрд╣ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓реАрдВ, рдЬрдм рдореИрдВ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред
TypeScript compile error: JSX element type 'ReactNode' is not a constructor function for JSX elements.
рдирд╣реАрдВ, рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд▓рдд рд╣реИред рдЖрдк рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рдХрдИ рддрддреНрд╡реЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдЗрд╕реЗ рдХрд╣реАрдВ рднреА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╡рдд: рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдПрдХ рд╣реА рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рд╣реИред
рдХреЗрд╡рд▓ рдлрд╛рдЗрдмрд░ рдХреЗ рд╕рд╛рде рд░рд┐рдПрдХреНрдЯ 16 рдореЗрдВ рдпрд╣ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ :)
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд░реЗрдбрдХреНрд╕ / рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓реЗрдЦрдХ рдиреЗ рдкрддрд▓реЗ рд░реИрдкрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред (рдХреЗрд╡рд▓ рддрддреНрд╡реЛрдВ рдореЗрдВ рдЪрд╛рдЗрд▓реНрдбрдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП), рдЬреИрд╕рд╛ рдХрд┐ https://egghead.io/lessons/ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рд░реЗрдбрдХреНрд╕-рдкрд╛рд╕рд┐рдВрдЧ-рдж-рд╕реНрдЯреЛрд░-рдбрд╛рдЙрди-рдирд┐рд╣рд┐рдд-рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ-рд╕рдВрджрд░реНрдн
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдЖрдкрдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╕реЗ рдЬреЗрдПрд╕рдПрдХреНрд╕ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ред рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдХрд╛рдо this.props.children
рдХреЛ React.Children.only(this.props.children)
$ рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯрдирд╛ рд╣реИ рдФрд░ рдпрджрд┐ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡ рд╣реИрдВ рддреЛ рдпрд╣ рдлреЗрдВрдХ рджреЗрдЧрд╛
рдареАрдХ рд╣реИ, рдЖрдк React.Children.only
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди ReactNode
рдФрд░ ReactElement
рджреЛрдиреЛрдВ $ this.props.children
рдХреЗ рдорд╛рдиреНрдп рдорд╛рди рд╣реИрдВред
const Title = props => <h1>{props.children}</h1>;
<Title>Woah</Title>
рд╡реИрдз рдФрд░ рдЙрдЪрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛрдб рд╣реИред
рдЖрдк рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 16 рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЯреАрдПрд╕ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реЛрдЪрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ children: JSX.Element[];
рдХрд░реЗрдВ
рдореЗрд░реЗ рдЕрдм рддрдХ рдХреЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ReactNode рдорд╛рдиреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
const Id: React.SFC<{}> = (props) => props.children
const App = ()= > <Id>This should work but instead fails</Id>
рдХреНрдпрд╛ рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ @types/react
рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛?
рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдореИрдВ рд░рд┐рдПрдХреНрдЯ рдЪрд┐рд▓реНрдбреНрд░рди рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд░ рдкрд╛ рд░рд╣рд╛ рд╣реВрдБ
рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП children
рдХреЛ React.Fragment
рдореЗрдВ рд▓рдкреЗрдЯ рд░рд╣рд╛ рд╣реВрдВред
рдЙрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ children
рдХреЛ React.Fragment
рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рд╕реЗ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕реМрднрд╛рдЧреНрдп рдорд┐рд▓рд╛ рд╣реИ
return (children as React.ReactElement);
return <>{foo(}</>;
рдкреВрд░реА рд░рд╛рддред <>
рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдПрдЪрдУрд╕реА рд╣реИ рдЬреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдШрдЯрдХ рдореЗрдВ рдкреНрд░реЛрдк рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕реЗ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ return children;
рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдореИрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ return <>{children}</>;
ред
рдпрд╣рд╛рдБ HOC рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ:
export interface ExtraProps {
extraProp1: string;
}
export const withExtraProps = <P extends object>(Component: React.ComponentType<P>) => {
return class extends React.Component<Omit<P, keyof ExtraProps>> {
render() {
const extraProps = {
extraProp1: 'test'
};
return (
<Component {...this.props as P} {...extraProps} />
)
}
}
}
рдпрд╣рд╛рдБ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ:
interface ComponentProps extends ExtraProps {
children?: React.ReactNode;
loadingComponent?: ReactElement;
}
export function ExampleComponent(props: ComponentProps) {
const { children, loadingComponent } = props;
const [loading, setLoading] = useState(false);
useEffect(() => {
const fetchData = async () => {
setLoading(true);
await someAsyncCall();
setLoading(false);
}
fetchData();
});
if (loading) {
return loadingComponent || null;
}
return children;
}
// This line errors:
export const FeatureFlag = withExtraProps(ExampleComponent);
рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
Argument of type '(props: ComponentProps) => {} | null | undefined' is not assignable to parameter of type 'ComponentType<ComponentProps>'.
Type '(props: ComponentProps) => {} | null | undefined' is not assignable to type 'FunctionComponent<ComponentProps>'.
Type '{} | null | undefined' is not assignable to type 'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)> | null'.
Type 'undefined' is not assignable to type 'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)> | null'.
рдЕрдЧрд░ рдореИрдВ рдЙрджрд╛рд╣рд░рдг рдХреЙрдореНрдкреЛрдиреЗрдВрдЯ рдореЗрдВ ReactElement | null
рдХрд╛ рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдПрдЪрдУрд╕реА рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЬрд╣рд╛рдВ рдореИрдВ рдмрдЪреНрдЪреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:
export function ExampleComponent(props: ComponentProps): ReactElement | null {
...
...
return children; // Type 'ReactNode' is not assignable to type 'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)> | null'.
}
рдпрд╣рд╛рдВ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рддрд░рд╣, рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ return <>{children}</>;
рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдереВрд▓ рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд▓рдЧрддрд╛ рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ _exact_ @kyrstenkelly рдХреЗ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╣реИ - рдПрдХ HOC рдлрд╝рдВрдХреНрд╢рди рдХреЛ React.FC
рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рдмрдЪреНрдЪреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред
<> children(...) </>
рдлрд┐рдХреНрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЕрднреА рддрдХ рдХреЛрдИ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ?
рд╕рд╛рде рд╣реА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ! рд╡рд░реНрддрдорд╛рди рдореЗрдВ React.Fragment рдХреЗ рд╕рд╛рде рд╕рдорд╛рдзрд╛рди рд▓рдкреЗрдЯрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рд╕рдорд╛рдзрд╛рди рдХрд░ рд░рд╣рд╛ рд╣реИ
рдореЗрд░рд╛ рднреА рдпрд╣реА рд╡рд┐рдЪрд╛рд░ рд╣реИ
interface IIntlMessageProps {
id: string;
valuesGiven?: {[key:string]:string};
}
// this doesn't work - -- TS2769 Type 'null' is not assignable to type '(nodes:ReactNodeARray) => ReactNode' | ... | undefined
export const IntlMessage: React.FC<IIntlMessageProps> = (props) => {
return (
<FormattedMessage id={props.id} values={props.valuesGiven}>
{props.children}
</FormattedMessage>
)
};
//Nope -- TS2769 Type 'Element' is not assignable to type '(nodes:ReactNodeARray) => ReactNode'
export const IntlMessage: React.FC<IIntlMessageProps> = (props) => {
return (
<FormattedMessage id={props.id} values={props.valuesGiven}>
<React.Fragment>{props.children}</React.Fragment>
</FormattedMessage>
)
};
// Nope -- TS2769 Type 'Element' is not assignable to type '(nodes:ReactNodeARray) => ReactNode'
export const IntlMessage: React.FC<IIntlMessageProps> | null = (props) => {
return (
<FormattedMessage id={props.id} values={props.valuesGiven}>
<>{props.children}</>
</FormattedMessage>
)
};
// Nope -- TS2769 Type '{}' is not assignable to type '(nodes:ReactNodeARray) => ReactNode'
export const IntlMessage: React.FC<IIntlMessageProps> = (props) => {
return (
<FormattedMessage id={props.id} values={props.valuesGiven}>
{props.children ? props.children : undefined}
</FormattedMessage>
)
};
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд╕рд▓рд╛рд╣ рджреА рдЧрдИ рд╣рд░ рдЪреАрдЬ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ ... :( рдХреЛрдИ рд╕реБрд░рд╛рдЧ?
рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
import React from 'react'
const Something: React.FC = ({ children }) => (
<> { children } </>
)
рдпрд╣ Type '({ children }: { children?: ReactNode; }) => ReactNode' is not assignable to type 'FunctionComponent
рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░ рджреЗрдЧрд╛ред
рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рдореИрдВ рдЯреБрдХрдбрд╝реЛрдВ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЬреЗрдПрд╕рдПрдХреНрд╕ рдкреНрд░рдХрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдлреНрд▓реЛ рд░рд┐рдПрдХреНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдФрд░ рдЧреИрд░-рдЖрджрд░реНрд╢ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯреБрдХрдбрд╝реЗ рдШрдЯрдХ рдкреЗрдбрд╝ рдХреЛ рдЧрд╣рд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛/рдЖрд╡рд░рдг рдШрдЯрдХреЛрдВ (рдХреЗрд╕-рдЗрди-рдкреЙрдЗрдВрдЯ: рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░) рдореЗрдВред React.ReactElement
рдХреЛ рдХрд╛рд╕реНрдЯ рдХрд░рдирд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдПрдХ рдмреЗрд╣рддрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрд╛рд╕реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдореИрдВрдиреЗ рдЙрд╕ рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЗрдПрд╕рдПрдХреНрд╕ рдЯрд╛рдЗрдкрдЪреЗрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдлрдВрд╕ рдЧрдпрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рд╢рд╛рдЦрд╛ рд╣реИ, рдореИрдВ рд╢рдкрде рд▓реЗ рд╕рдХрддрд╛ рдерд╛ рдореИрдВрдиреЗ рдорджрдж рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдпрд╛ рдерд╛, рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддрд╛ ...
рдареАрдХ рд╣реИ, рдЕрдЧрд░ рдЯрд╛рдЗрдк рдХреЛ рдиреЛрдбреНрд╕ рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ ReactText
, ReactPortal
, boolean
, null
, рдФрд░ undefined
рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред ReactElement
рдХрд╛ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЗрди рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреНрдпрд╛ рдФрдЪрд┐рддреНрдп рд╣реИ?
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
children
рдХреЛReact.Fragment
рдореЗрдВ рд▓рдкреЗрдЯ рд░рд╣рд╛ рд╣реВрдВред