Skip to content

Using ES6 def. values for React component gives type error #33027

Closed
@egonm12

Description

@egonm12

React defaultProps will be deprecated in future releases (see PR). Therefore I want to use es6 default values.

TypeScript Version: 3.7.0-dev.20190822

Search Terms:

  • Use es6 default values in React functional component instead of defaultProps

Code
The React component

import React from "react";

MyComponentProps {
  name: string;
}

export const MyComponent = ({ 
  name = "Jack" 
}: MyComponentProps) => (
  <div>
    <p>
      Hello {name}
    </p>
  </div>
)

The place where I use it

import React from "react";
import { MyComponent } from "./components"

const MyApp = () => <MyComponent />
TS2741: Property 'name' is missing in type '{}' but required in type 'MyComponentProps'

Expected behavior:
No type error as the default value is already defined

Actual behavior:
Typescript says that property is missing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Working as IntendedThe behavior described is the intended behavior; this is not a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions