onClick vs onSubmit in React

拜拜、爱过 提交于 2021-02-16 20:26:14

问题


I have a simple input in react that won't work with onSubmit but with onClick. Why is that? Here is the link to an example.

const styles = {
  fontFamily: 'sans-serif',
  textAlign: 'center',
};

const clicked = e => {
  alert("Hi")
}
const App = () => (
  <div style={styles}>
    <input type='submit' value='click' onSubmit={clicked}/>
  </div>
);

ReactDOM.render(<App />, document.getElementById('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root" />

回答1:


onSubmit is a prop for <form>, you should add the handler on to that element:

<form onSubmit={onSubmit}>
  <input ... />
</form>



回答2:


I think it needs to be in a <form></form> for submit to work




回答3:


Because you're not submitting anything. onSubmit is for submitting forms...



来源:https://stackoverflow.com/questions/48757923/onclick-vs-onsubmit-in-react

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!