Javascript 在ReactJS中使用按钮过滤数据
我有一个具有4个属性的状态。最初,它们都将设置为false。但是,当我单击按钮时,特定的一个将变为true,并显示所有其他值。我正在尝试使用过滤方法,但我无法这样做 声明:Javascript 在ReactJS中使用按钮过滤数据,javascript,reactjs,Javascript,Reactjs,我有一个具有4个属性的状态。最初,它们都将设置为false。但是,当我单击按钮时,特定的一个将变为true,并显示所有其他值。我正在尝试使用过滤方法,但我无法这样做 声明: state = { hospitals: [ { id: 'h1', name: 'Apollo Hospital', city: 'Chennai' }, { id: 'h2', name: 'Fortis Hospital', city: 'New Delhi'}, { id:
state = {
hospitals: [
{ id: 'h1', name: 'Apollo Hospital', city: 'Chennai' },
{ id: 'h2', name: 'Fortis Hospital', city: 'New Delhi'},
{ id: 'h3', name: 'Tata Memorial Hospital', city: 'Mumbai'},
{ id: 'h4', name: 'Lilavati Hospital', city: 'Pune',}
],
};
我不能完全肯定我是否正确地掌握了预期的行为。。你是不是想实现一些东西,像这样
const{useState}=React,
{render}=ReactDOM,
rootNode=document.getElementById('root'))
常数数据={
医院:[
{id:'h1',名称:'Apollo Hospital',城市:'Chennai'},
{id:'h2',名称:'Fortis Hospital',城市:'新德里'},
{id:'h3',名称:'塔塔纪念医院',城市:'孟买'},
{id:'h4',名称:'Lilavati医院',城市:'Pune',}
],
}
常量应用=()=>{
const[filters,setFilters]=useState(
Object.assign(
{},
…data.hospitals.map(({city})=>({[city]:false}))
)
),
onFilter=({target:{value}})=>
设置过滤器({
…过滤器,
[值]:!筛选器[值]
})
返回(
{
Object.keys(filters.map)(按钮=>(
))
}
{
data.hospitals.map({id,name,city})=>
(!Object.values(filters).some(Boolean)| | filters[city])&&(
- {name}({city})
))
}
)
}
渲染(
,
根节点
)
.activeButton{
背景颜色:橙色;
颜色:#fff;
}
您在哪里将它们设置为false?