**
数组过滤到符合条件的Id集合
**
{this.state.list.filter(…).map(item=>{
…
})}
filter函数都接受一个函数作为它的输入,返回的函数可以访问列表项目对象,因为它传给filter函数的函数,它还返回的函数j将会根据函数中定义的条件对列表进行过滤。
**
高阶函数
**
需要传递 searchTerm 到过滤函数并返回一个新函数来根据条件求
值,这叫做高阶函数。
class App extends Component {
…
}
//es5写法
function isSearched(searchTerm) {
return function(item) {
return item.title.toLowerCase().includes(searchTerm.toLowerCase());
} }
//es6写法
const isSearched = searchTerm => item =>
item.title.toLowerCase().includes(searchTerm.toLowerCase());
只有满足匹配时才会返回 true 并将项目保留在列表中。
当不匹配时,项目会从列表中移除
这本《the-road-to-learn-react-chinese》介绍很详细。想知道详细可以购买看。