setMenu((m) => {
if (m === 3) return 1
return m + 1
)
return (
<>
<MenuItem menu={ menu/>
<button onClick={ toggleMenu >toggle menu</button>
</>
)
可以看到 , 使用‘switch’可以很方便的表达‘menu’和组件的对应关系 。
5.使用枚举
如果我们需要根据用户的不同状态显示Foo、Bar、Default三个组件 , 枚举会比if语句更优雅 。
const Foo = () => {
return <div>foo</div>
const Bar = () => {
return <div>bar</div>
const Default = () => {
return <div>default</div>
const statusMap = {
foo: <Foo />
bar: <Bar />
default: <Default />
const App = () => {
const [status
= useState('default')
return (
statusMap[status
)
6. 使用 JSX 控制语句
JSX 控制语句库扩展了 JSX 的功能 , 让你可以直接使用 JSX 实现条件渲染 。
让我们举个例子 。
export default function App(props) {
const [ hasLogin
= useState(false)
//...
return (
<Choose>
<When condition={ hasLogin >
<button>Logout</button>
</When>
<When condition={ !hasLogin >
<button>Login</button>
</When>
</Choose>
)
总结
以上就是小蓝今天跟大家分享的前端知识 , 如果在学习或者工作中能帮到你 , 可以点下赞 , 关注我们 。
- saas|腾讯邱跃鹏:SaaS应用加速落地,企业将在云上无缝协同
- 腾讯To B,要回归产品公司本质
- 腾讯|国产手机5G网速排行榜新鲜出炉!一加登顶榜首,华为排名第二
- 2022腾讯全球数字生态大会:企业微信专注“连接”,助力打造敏捷型组织
- 2022腾讯全球数字生态大会在深圳宝安召开 数实融合加速高质量发展
- 中国互联网络信息中心|事件回顾:腾讯员工平均月工资83888元
- 腾讯|腾讯网易挖坑,字节跳
- 京东腾讯加持,香港IPO上市,小熊U租做对了什么?
- 腾讯|联通董事长刘烈宏:与腾讯合作是一项探索
- bilibili|独家 | 小米百度字节涌入网文短剧,复刻腾讯生态链?