Передавать реквизиты от родительского к дочернему компоненту, использующему перехваты?

#reactjs #react-hooks

#reactjs #реагировать-перехваты

Вопрос:

Я новичок, который с трудом разбирается в хуках react.

У меня есть дочерний компонент «RadioButtonsGroup», который использует перехваты (сборка MUI):

 function RadioButtonsGroup() {
  const [value, setValue] = React.useState('isAgent');

  function handleChange(event) {
    setValue(event.target.value);
  }

  return (
    <FormControl component="fieldset">
      <RadioGroup aria-label="Gender" name="gender1" value={value} onChange={handleChange}>
        <FormControlLabel
          value="isAgent"
          control={<Radio color="primary" />}
          label="Agent"
          labelPlacement="start"
        />
        <FormControlLabel
          value="isLandlord"
          control={<Radio color="primary" />}
          label="Landlord"
          labelPlacement="start"
        />
      </RadioGroup>
      <FormHelperText>labelPlacement start</FormHelperText>
    </FormControl>
  );
}
  

Как мне передать реквизиты этому «RadioButtonsGroup.js «от его родительского компонента?
Я пытался использовать

 <RadioButtonsGroup isAgent={false} />
  

Но, похоже, что этот.props.isAgent не передается дочернему компоненту, и этого.props вообще нет.

Ответ №1:

Функциональный компонент не имеет своих реквизитов this , но вместо этого они props задаются в качестве первого аргумента функции.

 function RadioButtonsGroup(props) {
  const { isAgent } = props;

  // ...
}
  

Ответ №2:

props передаются как —

 function RadioButtonsGroup(props) {
}
  

или

 const RadioButtonsGroup = props => {
}

export default RadioButtonsGroup;