私はREACTコンポーネントを作成し、Redux接続を使用してボタンを押してメソッドを呼び出して呼び出します。コードがあります:なぜトリガされたメソッドですか?
const PageClientOne = ({onSubmit, onDelete, client}) => {
return(
<form style={styles.enter} onSubmit={_handleSubmit(client,onSubmit)}>
// ... something code
<Button type="submit" theme="success">Save</Button>
<Button type="button"
theme="error" onClick={onDelete(client._id)}>Delete</Button>
</form>
)
}
const _handleSubmit = (client, onSubmit) => {
return event => {
event.preventDefault()
onSubmit(client)
}
}
const mapStateToProps = (state, ownProps) => {
return {
client: state.reducers.clientsState.client
}
}
const mapDispatchToProps = (dispatch) => ({
onSubmit: (client) => {
dispatch(saveClient(client))
},
onDelete: (id) => {
console.log("DELETE")
}
}
export default connect(
mapStateToProps,
mapDispatchToProps
)(PageClientOne)
問題はonDeleteはしていないだけで、ボタンをクリックした際に、ページのロード時にトリガということです。私は間違って何をしていますか?
上*なぜメソッドと呼ばれる?質問の* ** IDK ** :-Pしかし下さいフレーズ 'title'適切質問のその非常に重要な部分として。不明瞭な「タイトル」は、問題を理解するためだけに説明とコードを読んでくれるように頼んでいるので、大部分の人々の注目を失います。 – Rajesh
@Rajesh私は同意します。しかし、多くの人にとって、英語は母国語ではありません。 – qxz
それは私にとってはおそらくPageClientOneは純粋な関数です。この場合、親コンポーネントに状態や小道具を置いて、onclickは親コンポーネント関数を起動して子コンポーネントを再描画します。 –