springboot怎么把数据传给前端:springboot 如何引入前端 bootstrap?
这种问题网上一搜一大堆,你可以具体找一篇文章试试,遇到问题可以针对相关问题去提问。springboot通过jar包方式引入bootstrap_个人文章 - SegmentFault 思否 这不是查查就
顺晟科技
2022-10-18 13:33:17
199
import React from "react";
export default function Form ({handleSubmit, handleChange, value}) {
return (
<form onSubmit = {handleSubmit}>
<label>
<input type="text" name="name" onChange = {handleChange}/>
</label>
<input type="submit" value="Submit" />
</form>
);
}
我正在尝试创建一个基本的Todolist应用程序。我在您将用户输入呈现到我的TODOList组件中的部分卡住了。当我提醒e.target.value的值时,我得到了未定义。问题出在哪里?编辑:添加了我的表单组件。
import "./styles.css";
import Header from "./Header.js";
import Form from "./Form.js";
import {useState} from "react";
import ToDoList from "./ToDoList.js"
export default function App() {
const[items, setItems] = useState([]);
let value = "";
function handleChange(e) {
value = e.target.value;
}
function handleSubmit(e) {
setItems([...items,
e.target.value
]);
alert('A name was submitted: ' + e.target.value);
e.preventDefault();
}
return (
<div className="App">
<div>
<Header/>
</div>
<div>
<Form handleChange = {handleChange} handleSubmit = {handleSubmit} value = {value}/>
</div>
<div>
<ToDoList items = {items}/>
</div>
</div>
);
}
顺晟科技:
因为您将整个表单作为事件传递给handleSubmit
和items
。如果要保持这种代码样式,则必须使用输入值更改。此外,在执行所有操作之前,您必须定义e.preventDefault()
。所以:
import "./styles.css";
import Header from "./Header.js";
import Form from "./Form.js";
import {useState} from "react";
import ToDoList from "./ToDoList.js"
export default function App() {
const[inputValue, setInputValue] = useState();
const[items, setItems] = useState([]);
let value = "";
function handleChange(e) {
setInputValue(e.target.value);
}
function handleSubmit(e) {
e.preventDefault();
setItems([...items,
inputValue
]);
setInputValue("");
alert('A name was submitted: ' + e.target.value);
}
return (
<div className="App">
<div>
<Header/>
</div>
<div>
<Form handleChange={handleChange} handleSubmit={handleSubmit} value = {value}/>
</div>
<div>
<ToDoList items = {items}/>
</div>
</div>
);
}
05
2022-12
02
2022-12
02
2022-12
29
2022-11
29
2022-11
24
2022-11