@types/react
рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реБрдИрдВредDefinitions by:
рдореЗрдВ index.d.ts
) рддрд╛рдХрд┐ рд╡реЗ рдХрд░ рд╕рдХреЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛.рд╡рд░реНрддрдорд╛рди рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдШрдЯрдХ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд╕рдВрдЦреНрдпрд╛, рдмреВрд▓рд┐рдпрди рджреЗрддрд╛ рд╣реИ ... (рд░рд┐рдПрдХреНрдЯ 16 рдореЗрдВ рдирдпрд╛)
import React from 'react'
const TestString = () => {
return 'Test String Component'
}
const Component = () => (
<div>
<TestString/>
</div>
)
рддреНрд░реБрдЯрд┐ рдореБрдЭреЗ рдорд┐рд▓рддреА рд╣реИ:
JSX element type 'string' is not a constructor function for JSX elements.
рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдореЗрдВ рдПрдХ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдШрдЯрдХ React.Element
рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ render
рдкрджреНрдзрддрд┐ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рджреЗрдЦреЗрдВ https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react/index. рдбреА.рдЯреАрдПрд╕#рдПрд▓422)
interface StatelessComponent<P = {}> {
(props: P & { children?: ReactNode }, context?: any): ReactElement<any> | Array<ReactElement<any>> | string | number | null;
propTypes?: ValidationMap<P>;
contextTypes?: ValidationMap<any>;
defaultProps?: Partial<P>;
displayName?: string;
}
рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкрд░рджреЗ рдХреЗ рдкреАрдЫреЗ рд╕рдВрдХрд▓рдХ jsx рдХреЛ `React.createElement('Test String Component', null)`` рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛ред
рдореБрдЭреЗ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рдЬреЛ рдХрд╣ рд░рд╣реА рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдиреНрдп рдорд╛рди рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрдЪреА рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react/index.d.ts#L3465ред
рдпрд╣ рдХреИрд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕ рдкрд░ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?
@DovydasNvickas @sandersn @tkrotoff @andy-ms @ddwwcruz @apexskier @devrelm @RyanCavanaugh @richseviora @onigoetz @minestarks @yuit @sboehler @ plantan-00 @ p-jackson @ miracle2k @voxmatt @morcerdjanechu @ericandersonfoxmatt @morcerdjanechu @ericandersonf @dyst5422 @rapilabs @cynecx @newyankeecodeshop
рд╣рдо рд╢рд╛рдпрдж рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдФрд░ рдХреНрд▓рд╛рд╕ рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдХреЛрдВ рдХреЛ рдЕрдм ReactNode
рд▓реМрдЯрд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ v16 рд╣рд╛рдБ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкреАрдЖрд░ рдЦреБрд▓рд╛ рд╣реИред https://github.com/DefinitelyTyped/DefinitelyTyped/pull/20097
рдХреНрдпрд╛ рдпрд╣ рдПрдЯреАрдПрдо рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ?
рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░ string
boolean
рдпрд╛ undefined
рд╣реИ рддреЛ рдпрд╣ рдЬреЗрдПрд╕рдПрдХреНрд╕ рдкрд╛рд░реНрд╕рд░ рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреАрдЖрд░ рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ: https://github.com/Microsoft/TypeScript/pull/20239 (рдЦреИрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд░рдгреА рд▓реЗрдХрд┐рди рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЯреАрдПрд╕ рдХреЛ рдХреИрд╕реЗ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЬреЗрдПрд╕рдПрдХреНрд╕ рдШрдЯрдХ рдореЗрдВ рдХреНрдпрд╛ рдЕрдиреБрдорддрд┐ рд╣реИ)
рдХреВрд▓, рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдЗрд╕ рдкрд░ рдирд╡реАрдирддрдо рдХреНрдпрд╛ рд╣реИ? рдореБрдЭреЗ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЯреАрдПрд╕ рдкреАрдЖрд░ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ (https://github.com/Microsoft/TypeScript/pull/20239) рдЕрдм рдмрдВрдж/рд▓реЙрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдЖрдЬ рдЙрд╕реА рдЪреАрдЬрд╝ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ + рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдирдпрд╛, рдФрд░ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореЗрд░реЗ рдШрдЯрдХ рдЕрдЪрд╛рдирдХ рддрд╛рд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд▓реМрдЯрд╛ рд╕рдХрддреЗ ...
рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред
return <>0</>
рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЦрдмрд░?
рд╣реИрд▓реЛ, рдХреГрдкрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдпрд╛ рд╕рдВрдХреЗрдд :)?
рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ #18912 рдХрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣реИред рдПрдХ рдмрд╛рд░ Microsoft/рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ#21699 рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдиреНрдп рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ ReactNode
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ string
рдФрд░ boolean
рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рднреА рдХреНрдпреЛрдВ рдорд╛рди рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд░рд┐рдПрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╡реИрдз рд╣реИ? @jsx
/ @jsxFrag
Babel pragmas рдХреЗ рд╕рд╛рде, рдЗрд╕ JSX рдЬреИрд╕рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рддреЛ рдРрд╕рд╛ рднреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рддрд╛рд░ рд╣реА рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рдПрдВ; рдХреЛрдИ рднреА рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рд╡реИрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╡рд┐рд╡рд╢ред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рддрд┐рдкрд╛рджрди рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред
рдпрд╣ рд▓рдЧрднрдЧ рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЦреБрд▓рд╛ рд╣реИ, рдХреНрдпрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ?
рд╕реБрдЭрд╛рдП рдЧрдП рд░рд┐рдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЯреБрдХрдбрд╝рд╛ <>рд╕реНрдЯреНрд░рд┐рдВрдЧрд╡реИрд▓реНрдпреВ рдпрд╣рд╛рдВ рдЬрд╛рддрд╛ рд╣реИ> - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдХреИрд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИ, рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рдЬреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрддреНрд╡ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╣рд╛рдЙрдбреА рд░рд┐рдЯрд░реНрдирд┐рдВрдЧ <>"рд╣реИрд▓реЛ"> рдирд╛рдордХ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдШрдЯрдХрдбрд┐рдбрдорд╛рдЙрдВрдЯ рдХреЗ рдЕрдВрджрд░ рд╣реИ
рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреНрдпрд╛ рдХрд╣рддреЗ рд╣реИрдВ =
рдореИрдВ рдЦрдВрдб рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реВрдВред рдореБрдЭреЗ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рднреА рддрд░реАрдХрд╛ рдПрдХ рдмреЗрд╣рдж рдмрджрд╕реВрд░рдд рд╣реИрдХ рд╣реИ рдФрд░ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╣реБрдХ рдПрдкреАрдЖрдИ рдЕрдХреНрд╕рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдпрд╛ рдЕрдиреНрдп рдЧреИрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рддрддреНрд╡ рдорд╛рдиреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП https://github. com/pankod/react-hooks-screen-type/blob/master/src/index.js
рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реБрдХ рдПрдкреАрдЖрдИ рдХреЛ рдЕрдиреБрдкрдпреЛрдЧреА рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд░рд┐рдПрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЦрд░рд╛рдм рдлрд┐рдЯ рдмрдирд╛рддрд╛ рд╣реИред
рдпрд╣ рд▓рдЧрднрдЧ рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЦреБрд▓рд╛ рд╣реИ, рдХреНрдпрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ?
@bryanrasmussen рдЕрдВрддрд┐рдо рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП https://github.com/DefinitelyTyped/DefinitelyTyped/issues/20544#issuecomment -459665668 рджреЗрдЦреЗрдВред
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рд▓рдЧрд╛рдИ рдЧрдИ рд╕реАрдорд╛рдУрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛрдб рд▓рд┐рдЦ рд░рд╣реА рд╣реИред рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрд░реАрдХреЗ рд╕реЗ рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд DOM рддрддреНрд╡реЛрдВ рдФрд░/рдпрд╛ React.Fragments рдХреЛ рдкреЗрд╢ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдУрд╡рд░рд╣реЗрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ (рдХрдЪрд░рд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ) рдФрд░ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдпрд╣ рд╣рд░ рдмрд╛рд░ рдлрд╕рд▓ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЬрдм рдЖрдк рд░рд┐рдПрдХреНрдЯ рдШрдЯрдХреЛрдВ рд╕реЗ рдорд╛рдиреНрдп рдЪреАрдЬреЗрдВ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ JSX.Element рдирд╣реАрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд░рдгреАред
рдореБрдЭреЗ рдЪреАрдЬреЛрдВ рдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордЭрджрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдиреЛрдЯреЗрд╢рди рд╕реЗ рдЦреБрд╢реА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрдиреНрд╣реЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рддреЛрдВ рдФрд░/рдпрд╛ any
рдЬреИрд╕реА рдЕрдкреВрд░реНрдг рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд╡реИрд╢ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЕрдЪреНрдЫрд╛ рдирд╣реАред
рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ React.Fragment
рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯрдиреЗ рдкрд░ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдПрдХ (рдорд╣рддреНрд╡рд╣реАрди) рд▓рд╛рдЧрдд рд╣реЛрддреА рд╣реИред
рдХреНрдпрд╛ рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░рдирдЯрд╛рдЗрдо рдкреЗрдирд▓реНрдЯреА рдХреЗ рдПрдХ рдФрд░ рдХрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?
import React, { ReactElement } from 'react'
const TestString = () => {
return ('Test String Component' as unknown) as ReactElement
}
const Component = () => (
<div>
<TestString />
</div>
)
export default Component
рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ
React.Fragment
рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯрдиреЗ рдкрд░ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдПрдХ (рдорд╣рддреНрд╡рд╣реАрди) рд▓рд╛рдЧрдд рд╣реЛрддреА рд╣реИред
рдпрд╣ рдПрдХ рд╕рдордЭреМрддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдЗрд╕рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдорд╣рддреНрд╡рд╣реАрди рдирд╣реАрдВ, рд╕рдВрджрд░реНрдн рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рдЯреБрдХрдбрд╝реЗ рдЪреЛрдЯ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рддреЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд╣реЛрдВрдЧреЗред
рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ
React.Fragment
рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯрдиреЗ рдкрд░ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдПрдХ (рдорд╣рддреНрд╡рд╣реАрди) рд▓рд╛рдЧрдд рд╣реЛрддреА рд╣реИредрдХреНрдпрд╛ рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░рдирдЯрд╛рдЗрдо рдкреЗрдирд▓реНрдЯреА рдХреЗ рдПрдХ рдФрд░ рдХрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?
import React, { ReactElement } from 'react' const TestString = () => { return ('Test String Component' as unknown) as ReactElement } const Component = () => ( <div> <TestString /> </div> ) export default Component
рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореИрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рднреА рдЦреЛ рджреЗрддрд╛ рд╣реВрдВред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдЯреАрдПрд╕ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░рдирдЯрд╛рдЗрдо рдкреЗрдирд▓реНрдЯреА рдХреЗ рднреА рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИред рддреЛ рдЖрдкрдХрд╛ рдХрд╛рдордХрд╛рдЬ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЯреАрдПрд╕ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред "рдЖрдк рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ" рдХреЛ рдХрд╛рд╕реНрдЯ рдХрд░рдирд╛ "рдареАрдХ рд╣реИ, рдлрд┐рд░ рдмреНрд░реЗрдХ рдХреЛ рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд┐рд╕реЗ рд╣реИ?"ред рдЬрдм рдЖрдк рдЗрд╕реЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдорд┐рд▓рддреА рд╣реИ!
рддреЛ, рдлрд┐рдХреНрд╕ рдкрд░ рдХреЛрдИ рдЦрдмрд░?
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЦрдмрд░?