import { Component } from "react";
import Li from ‘./li‘
/**
* 受控组件:将组件的状态和表单控件的内部状态进行绑定
*
* 非受控组件:在react中,给表单控件设置 value 或者 checked属性,React就认为我们想要做受控组件,如果希望只是设置组件的初始值,而非受控组件,可以使用defaultValue 或 defaultChecked
*/
class App7 extends Component{
state = {
data: [
{
id: 1,
title:"列表项-1"
},
{
id: 2,
title:"列表项-2"
},
{
id: 3,
title:"列表项-3"
}
],
val:""
}
render() {
const { data,val } = this.state;
return <>
<ul>
{
data.map((item) => {
return <Li key={item.id} data={item} />
})
}
</ul>
<input
type="text"
value={val}
onChange={({ target }) => {
this.setState({
val:target.value
})
}}
></input>
<p>val:{ val}</p>
<button onClick={
() => {
this.setState({
data: [...data, {
id: Date.now(),
title:val
}],
val:‘‘
})
}
}>添加</button>
<input type="text" defaultValue="张三" />
</>
}
}
import { Component } from "react";
class Li extends Component{
render() {
const { data } = this.props;
return (
<li>{data.title} <button>删除</button></li>
)
}
}
export default Li
原文:https://www.cnblogs.com/qingjiawen/p/14872075.html