父 App.js
import Search from './components/Search'
class App extends Component{
construction(props){
super(props)
this.state={
}
}
render(){
return(
<Search onAddList={this.enter} ></Search>
<div>
<h1>进行中</h1>
{
doing.map((item) => (
<List key={item.id} item={item} onOnClick={this.change} onDel={this.del}></List>
))
}
</div>
)
}
}
export default App;
子组件 Search.js // 有状态组件
import React, { Component } from 'react'
export default class Search extends Component {
constructor() {
super()
}
enter = (e) => {
e.target.value = e.target.value.trim()
if (e.keyCode === 13 && e.target.value) {
<!-- 把获取到的输入框中的值 通过父组件传给子组件的方法传递给父组件 -->
this.props.onAddList(e.target.value)
e.target.value = ''
}
}
render () {
return (
<!-- 键盘按下事件 调用本页面的函数方法 -->
<input type="text" name="text" onKeyDown={this.enter} />
)
}
}
子组件 List.js //无状态组件(只负责渲染和展示)
import React from 'react'
export default function List ({ item, onOnClick, onDel }) {
return (
<li>
<input type="checkbox" defaultChecked={item.finish} onClick={() => onOnClick(item.id)} />
{item.text}
<span onClick={() => onDel(item.id)}>X</span>
</li>
)
}