Definitelytyped: @ рдкреНрд░рдХрд╛рд░/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рд╕реЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рдЕрдХреНрддреВре░ 2017  ┬╖  19рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: DefinitelyTyped/DefinitelyTyped

  • [x] рдореИрдВрдиреЗ @types/react рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реБрдИрдВред
  • [x] рдореИрдВрдиреЗ tsc рдХреЗ рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред https://www.npmjs.com/package/typescript
  • [x] рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░рд╢реНрди рд╣реИ рдЬреЛ StackOverflow рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реИред (рдХреГрдкрдпрд╛ рд╡рд╣рд╛рдВ рдХреЛрдИ рдЙрдкрдпреБрдХреНрдд рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдВ)ред
  • [x] [рдЙрд▓реНрд▓реЗрдЦ] (https://github.com/blog/821-mention-somebody-the-re-notified) рд▓реЗрдЦрдХ (рджреЗрдЦреЗрдВ Definitions by: рдореЗрдВ index.d.ts ) рддрд╛рдХрд┐ рд╡реЗ рдХрд░ рд╕рдХреЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛.

    • рд▓реЗрдЦрдХ: @johnnyreilly , @bbenezech , ...

рд╡рд░реНрддрдорд╛рди рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдШрдЯрдХ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд╕рдВрдЦреНрдпрд╛, рдмреВрд▓рд┐рдпрди рджреЗрддрд╛ рд╣реИ ... (рд░рд┐рдПрдХреНрдЯ 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ред

рдпрд╣ рдХреИрд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕ рдкрд░ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЦрдмрд░?

рд╕рднреА 19 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@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

рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореИрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рднреА рдЦреЛ рджреЗрддрд╛ рд╣реВрдВред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдЯреАрдПрд╕ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░рдирдЯрд╛рдЗрдо рдкреЗрдирд▓реНрдЯреА рдХреЗ рднреА рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИред рддреЛ рдЖрдкрдХрд╛ рдХрд╛рдордХрд╛рдЬ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЯреАрдПрд╕ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред "рдЖрдк рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ" рдХреЛ рдХрд╛рд╕реНрдЯ рдХрд░рдирд╛ "рдареАрдХ рд╣реИ, рдлрд┐рд░ рдмреНрд░реЗрдХ рдХреЛ рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд┐рд╕реЗ рд╣реИ?"ред рдЬрдм рдЖрдк рдЗрд╕реЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдорд┐рд▓рддреА рд╣реИ!

рддреЛ, рдлрд┐рдХреНрд╕ рдкрд░ рдХреЛрдИ рдЦрдмрд░?

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

lilling picture lilling  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jbreckmckye picture jbreckmckye  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

csharpner picture csharpner  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jgoz picture jgoz  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

JudeAlquiza picture JudeAlquiza  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ