Home > Back-end >  How can I access name of this objects
How can I access name of this objects

Time:01-11

Here I have used object and I want to access its name and value and value. This is my code right now..

Here I have used object and in return code I have described name and value now I want to access value and name in my handleChange function tried several ways it is not working.

  
  const [location, setLocation] = React.useState({
    lifeLabs: "",
    gamma: "",
    hamilton: "",
    joseph: "",
    other:"",
  });
  

  const handleChange = (e) => {
    const { location } = e.target;
    setLocation(location);
  };

Here I tried changing the handleChange function using if statement but it did not work.

And this is the return code here I want to access its name and value.

<FormControlLabel
                    value="Life Labs"
                    name="lifeLabs"
                    control={<Radio onChange={handleChange} />}
                    label="Life Labs"
                  />
                  <FormControlLabel
                    value="Gamma"
                    name="gamma"
                    control={<Radio onChange={handleChange} />}
                    label="Gamma Dyna-care"
                  />
                  <FormControlLabel
                    value="Hamilton"
                    name="hamilton"
                    control={<Radio onChange={handleChange} />}
                    label="Hamilton Health Science"
                  />
                  <FormControlLabel
                    value="Joseph"
                    name="joseph"
                    control={<Radio onChange={handleChange} />}
                    label="St Joseph"
                  />
                  <FormControlLabel
                    value="Other"
                    name="other"
                    control={<Radio onChange={handleChange} />}
                    label="Other"
                  />

CodePudding user response:

I think you should use e.target.value

const handleChange = (e) => {
const { location } = e.target.value;
setLocation(location);

};

CodePudding user response:

You can write it like this

const handleChange = (e) => {
    const { name, value } = e.target;
    setLocation({ location, [name]: value });
};

CodePudding user response:

In your handleChange function, you are destructuring location from e.target object. But e.target is radio button itself and does not contain location property. Instead location is present on value or name subproperty of e.target.

By looking at your code it seems like your FormControlLabel and state, appropriate way to set location might be

const handleChange = (e) => {
  const { name, value } = e.target;
  setLocation({ ...location, [name]: value});
 };
  • Related