繁体   English   中英

e.preventDefault(); 不工作(React.js)

[英]e.preventDefault(); Not working (React.js)

如何阻止表单提交实际提交页面?

我试过e.stopPropagation(); e.nativeEvent.stopImmediatePropagation(); 但它并没有阻止表单提交页面

import React,{useState,useRef} from 'react';
import Counter from './components/Counter';
import Сlasscounter from './components/Classcounter';
import './styles/APP.css';
import Postlist from './components/Postlist';
 import Postitem from "./components/Postitem";
 import Mybutton from "./components/UI/button/Mybutton";
 import Myinput from "./components/UI/input/Myinput";
function App() {
 const [post,setpost]=useState([
  {id:1,title:'kickstart',body:'beginner'},
  {id:2,title:'backend',body:'back'},
  {id:3,title:'frontend',body:'description'},
  {id:4,title:'fullstack',body:'description'},
  {id:5,title:'architets',body:'description'},
  {id:6,title:'coding',body:'description'}
 ])
 const [title,setTitle]=useState('');
 const [body,setBody]=useState('');
 const addNewPost=function(e){
  /* e.stopPropagation();
  e.nativeEvent.stopImmediatePropagation(); */
  e.preventDefault();
   const newpost={
     title,
     body
   };
 console.log(newpost);
 };
  return (
    <div className="App">
       <form>
         <Myinput     
          value={title}
          onChange={e => setTitle(e.target.value)}
          type="text"
           placeholder="Description"/>
         <Myinput 
          type="text"
          placeholder="Description"
          value={body}
          onChange={e => setBody(e.target.value)}
          type="text"
           placeholder="Description"/>
          <Mybutton onclick={addNewPost}>Створити пост</Mybutton>       
       </form>
    </div>
  );
}
export default App;

问题是我点击按钮后一切都刷新了

尝试

<form onSubmit={addNewPost}>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM