React中tab栏的实现
父组件的代码展示
class App extends React.Component{ constructor(props){ super(props); this.state={ name:['流行','新款','精选'], //这些数据为tab栏展示的数据 currentTitle:'流行' } } render(){ const {name,currentTitle} =this.state //通过解构,下面直接拿到数据 return( <div> <CurrentBar itemClick={index=>this.itemClick(index)} titles={name}/> //子组件 </div> ) } itemClick(index){ //子组件给父组件传递事件 const {name} = this.state const titles = name; console.log(index); this.setState({ currentTitle:titles[index] }) } } export default App;
子组件的代码展示
export default class CurrentBar extends Component { constructor(props){ super(props); this.state={ currentIndex:0 } } render() { const {titles} = this.props; //从父组件拿到数据, const {currentIndex} = this.state return ( <div className='current-tab'> { titles.map((item,index)=>{ //然后进行遍历 return ( <div key={item} className={"currnet-item " + (index === currentIndex?"active":"")} onClick={e=>this.itemClick(index)} > <span className='current-span'>{item}</span> //每个span为一个数据展示 </div> ) }) } </div> ) } itemClick(index){ this.setState({ currentIndex:index }) const {itemClick} = this.props; //从父组件拿到事件 itemClick(index); } }
效果展示
人,一定不能懒,懒习惯了,稍微努力一下便以为是在拼命。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!