reactjs - Higher Order Component - listening for onChange -
i'm working on hoc forms in react app (for practice).
// components/wrapper.js import react 'react'; export default wrappedcomponent => class extends react.component { constructor() { super(); this.onsubmit = this.onsubmit.bind(this); this.onchange = this.onchange.bind(this); } onchange(e) { console.log(e.target.value); } onsubmit(e) { e.preventdefault(); console.log("submitting form..."); } render() { return <wrappedcomponent {...this.props} onsubmit={this.onsubmit} onchange={this.onchange}/>; } };
and export main index file using:
export wrapper './components/wrapper';
then can do:
// loginpage.js import { wrapper } '../somewhere' ... <form onsubmit={this.props.onsubmit}> <label>email address</label> <input type="text" name="email" onchange={this.props.onchange}/> <label>password</label> <input type="password" name="password" onchange={this.props.onchange}/> <input type="submit" value="login"/> </form> ...
and wrap using:
export default wrapper(loginpage);
i'm trying make easy use possible (as others may make use if it). therefore, want able remove onchange
props in input
boxes , somehow build functionality in onchanges
detected automatically hoc.
how can build component can used input boxes have onchange
added automatically?
you need wrap html element input in react component, , set defaultprops: onchange: () => {}, , define other props input type etc...
and markdown inputs components:
` <form onsubmit={this.props.onsubmit}> <custominput type="text" label="login" .../> </form> `
Comments
Post a Comment