所以我有一个tab-component
有 3 个项目:
React.DOM.ul( className: 'nav navbar-nav',
MenuItem( uid: 'home')
MenuItem( uid: 'about')
MenuItem( uid: 'contact)
)
而在.render
中MenuItem
:
React.DOM.li( id : @props.uid, className: @activeClass, onClick: @handleClick,
React.DOM.a( href: "#"+@props.uid, @props.uid)
)
每次我单击一个项目时,都会调用一个主干路由器,然后调用tab-component
,然后调用page-component
.
我仍然试图解决这个事实,即基本上是单向数据流。而且我已经习惯了直接操作 DOM。
我想要做的是将.active
类添加到单击的选项卡中,并确保将其从不活动的选项卡中删除。
我知道 CSS 技巧,您可以在其中使用data-
属性并将不同的样式应用于true
或属性false
。
骨干路由器已经得到了变量uid
并调用了正确的页面。我只是不确定如何最好地在选项卡之间切换类,因为只有一个可以同时处于活动状态。
现在我可以记录选择了哪个选项卡,并切换它们等等。但是 React.js 已经有了这个记录保存功能。
在@handleClick
你看,我甚至不希望使用的,因为路由器应该告诉tab-component
这些人给的className: '.active'
,我想避免的jQuery,因为React.js并不需要直接的DOM操作。
我已经用@state 尝试了一些东西,但我确信有一种非常优雅的方法可以实现这一点,相当简单,我想我看了一些演示或视频,有人在做这件事。
我真的必须习惯并改变我的思维方式,以react性地思考。
只是寻找一种最佳实践方式,我可以用一种非常丑陋和笨重的方式来解决它,但我喜欢 React.js,因为它非常简单。