私は小道具や機能コンポーネントについては一見些細な疑問があります。基本的には、ユーザーがボタンをクリックすることによってトリガされる状態変更時にモーダルコンポーネントをレンダリングするコンテナコンポーネントがあります。モーダルは、コンテナコンポーネントの内部にある関数に接続する必要のある入力フィールドを格納するステートレス機能コンポーネントです。React:機能コンポーネントに小道具を渡す
私の質問:ユーザーがステートレスModalコンポーネント内のフォームフィールドとやり取りしているときに、親コンポーネントの内部にある関数を使用して状態を変更するにはどうすればよいですか?小道具を間違って渡していますか?前もって感謝します。
コンテナ
export default class LookupForm extends Component {
constructor(props) {
super(props);
this.state = {
showModal: false
};
}
render() {
let close =() => this.setState({ showModal: false });
return (
... // other JSX syntax
<CreateProfile fields={this.props} show={this.state.showModal} onHide={close} />
);
}
firstNameChange(e) {
Actions.firstNameChange(e.target.value);
}
};
機能(モーダル)コンポーネント
const CreateProfile = ({ fields }) => {
console.log(fields);
return (
... // other JSX syntax
<Modal.Body>
<Panel>
<div className="entry-form">
<FormGroup>
<ControlLabel>First Name</ControlLabel>
<FormControl type="text"
onChange={fields.firstNameChange} placeholder="Jane"
/>
</FormGroup>
);
};
例:私はモーダル・コンポーネント内からthis.firstNameChange
を呼び出したいと言います。私は、機能コンポーネントに小道具を渡すことの "破壊的な"構文は、私が少し混乱していると思う。すなわち:
const SomeComponent = ({ someProps }) = > { // ... };