When I load my react app I get this error in the console.
Warning: Failed form propType: You provided a
value
prop to a form field without anonChange
handler. This will render a read-only field. If the field should be mutable usedefaultValue
. Otherwise, set eitheronChange
orreadOnly
. Check the render method ofAppFrame
.
My AppFrame component is below:
class AppFrame extends Component { render() { return ( <div> <header className="navbar navbar-fixed-top navbar-shadow"> <div className="navbar-branding"> <a className="navbar-brand" href="dashboard"> <b>Shire</b>Soldiers </a> </div> <form className="navbar-form navbar-left navbar-search alt" role="search"> <div className="form-group"> <input type="text" className="form-control" placeholder="Search..." value="Search..."/> </div> </form> <ul className="nav navbar-nav navbar-right"> <li className="dropdown menu-merge"> <span className="caret caret-tp hidden-xs"></span> </li> </ul> </header> <aside id="sidebar_left" className="nano nano-light affix"> <div className="sidebar-left-content nano-content"> <ul className="nav sidebar-menu"> <li className="sidebar-label pt20">Menu</li> <li className="sidebar-label"> <IndexLink to="/" activeClassName="active">Dashboard</IndexLink> </li> <li className="sidebar-label"> <Link to="/fixtures" activeClassName="active">Fixtures</Link> </li> <li className="sidebar-label"> <Link to="/players" activeClassName="active">Players</Link> </li> </ul> </div> </aside> <section id="content_wrapper"> <section id="content" className="table-layout animated fadeIn"> {this.props.children} </section> </section> </div> ) } } export default AppFrame;
I am struggling to work out what I am actually doing wrong here. The application starts up and works but I am trying to remove all console warning/errors.
Advertisement
Answer
Try this,
const [email, SetEmail] = useState("");
<Form.Control onChange={e => SetEmail(e.target.value)} type="email" name="email" value={email || ""} />