Home > Mobile >  missing in props validation react/prop-types
missing in props validation react/prop-types

Time:03-15

The solutions provided when doing my research are based on React class and not React function and I'm just a newbie in React.

From the parent component I'm calling the child component and passing the values as 'data'. In the child component I'm retrieving the value using props.

ParentComponent.js

<ChildComponent data={1}/>

ChildComponent.js

function ChildComponent(props) {
    const { data } = props.data;
    ...
}

The above gives me the following error message:

src\components\ChildComponent\ChildComponent.js Line 5:11: 'data.data' is missing in props validation react/prop-types Line 5:29: 'data' is missing in props validation react/prop-types

Search for the keywords to learn more about each error.

CodePudding user response:

props is collecting all attributes which you pass to ChildComponent

Your data should be like this

function ChildComponent(props) {
    const { data } = props; //object destructuring
    ...
}

Or like this

function ChildComponent(props) {
    const data = props.data //access data directly and assign a new variable
    ...
}

CodePudding user response:

@Denno and @Nick Vu is correct but there might be something else you'll have to add to your child component just before the export.

ChildComponent.propTypes = {
  data: PropTypes.object
};

and add import

import PropTypes from "prop-types";

and change this

function ChildComponent(props) {
    const { data } = props.data;
    ...
}

to

function ChildComponent(props) {
    const data = props.data;
    ...
}

CodePudding user response:

you should learn something about ES6(Destructuring Assignment), if you want to konw this meaning about const { data } = props.data

or simple chang code to this

function ChildComponent(props) {
    const data = props.data 
}
  • Related