1 回答

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊
將activeStatus提取到ActivityLog中來(lái)跟蹤哪個(gè)按鈕被選中,現(xiàn)在你為每個(gè)按鈕維護(hù)一個(gè)狀態(tài)作為本地狀態(tài)。所以很難知道其他組件知道按鈕的活動(dòng)狀態(tài)。
這是一個(gè)粗略的想法的通用實(shí)現(xiàn)。
const Child=(props)=>{
<TouchableOpacity onPress={props.handlePress}>
<Text style={[baseStyle,active && activeStyle]}>{props.title}</Text>
</TouchableOpacity>
}
class Parent extends React.Component{
state={
selectedChild:''
}
changeSelection=(sometitle)=>{
this.setState({
selectedChild:sometitle
})
}
render(){
return(
<View>
<Child handlePress={()=>this.changeSelection('1')} active={this.state.selectedChild==='1'}/>
<Child handlePress={()=>this.changeSelection('2')} active={this.state.selectedChild==='2'}/>
<Child handlePress={()=>this.changeSelection('3')} active={this.state.selectedChild==='3'}/>
<Child handlePress={()=>this.changeSelection('4')} active={this.state.selectedChild==='4'}/>
</View>
)
}
}
添加回答
舉報(bào)