react-hook-form ( https://react-hook-form.com/ ) を使用しています。react-hook-form 内からアクションをディスパッチしたいと思います。
次のケースではprops.dispatch
、onSubmit が発火したときに を使用してディスパッチすることになっています。
しかし、setState で状態をディスパッチして更新する方法がわかりませんでした。
import React from 'react'
import useForm from 'react-hook-form'
export default function App(props) {
const { register, handleSubmit, watch, errors } = useForm()
const onSubmit = data => {
console.log(data);
props.dispatch({type: 'CONFIRM'}); //--> Worked!!
}
console.log(watch('example')) // watch input value by passing the name of it
return (
<form onSubmit={handleSubmit(onSubmit)}>
<input name="example" defaultValue="test" ref={register} />
<input name="exampleRequired" ref={register({ required: true })} />
<input type="submit" />
</form>
)
}
アドバイスをくれる人はいますか?
class Sample extends Component {
constructor(props){
super(props);
this.state = {
mode: 'input'
}
}
render() {
switch (this.state.mode) {
case 'input':
return (<App />);
case 'confirm':
return (<App01 />);
default:
return (<App02 />);
}
}
}
export default connect((state)=>state)(Sample);