获得徽章 0
#挑战每日一条沸点# 今天在重写项目的时候突然发现还没有学习到react的全局状态管理方案,于是进行了一番搜索。我在最初学习vue3的时候也对比着学过react的内容,那个时候react还在用class组件,配合redux做状态管理,现在react18和官方教程都把函数式组件作为第一选项了。后面还陆续出现过dva,mobx等的流行趋势。时隔半年我又去搜索,发现状态管理库的选择又新增了很多。目前新项目中似乎更多使用jotai,zustand,recoil等库。一番比较后我开始决定开始学习zustand,因为正好手头有现成的项目可以参考其用法。
展开
评论
1
#挑战每日一条沸点# 今天把electron项目配了个大概,迁移了一下页面布局和侧边栏,然后开始重新封装组件。
其中感觉到一个比较明显的区别是react不支持在jsx组件上添加类,也不能直接绑定事件。
原先在vue项目中,我会把路由页面的一些通用属性写在router view上,之后这部分类名会和实际页面的类合并。如果给一个Btn组件写@click也能照常使用。
但是在react的设计中jsx组件只是一个占位的作用,向它上面添加的属性会被当成props传入组件,我需要手动操作,把className合并到实际的html元素上,同时我还要在Btn组件里接受onClick函数,将他绑定在实际的按钮上才能正常实现事件绑定
其中感觉到一个比较明显的区别是react不支持在jsx组件上添加类,也不能直接绑定事件。
原先在vue项目中,我会把路由页面的一些通用属性写在router view上,之后这部分类名会和实际页面的类合并。如果给一个Btn组件写@click也能照常使用。
但是在react的设计中jsx组件只是一个占位的作用,向它上面添加的属性会被当成props传入组件,我需要手动操作,把className合并到实际的html元素上,同时我还要在Btn组件里接受onClick函数,将他绑定在实际的按钮上才能正常实现事件绑定
展开
评论
点赞
#挑战每日一条沸点# 今天跟随react router v6的新手教程跑了一遍。以前学习vuerouter的时候是看网课边看边写的,这次就系统很多,看完以后对这个库的了解比较透彻。
这篇入门文档的用户很易懂,而且循序渐进添加新功能,比我写router的时候考虑周到的多
教程里花了很长的篇幅讲了关于Form和Button模拟原生表单提交,以及loader和action的使用,这部分比较抽象,而且我感觉项目有实际后段的时候不一地用得上。
教程里的pathless路由包装错误页面感觉非常好用,但是我一开始误解了他的功能,尝试把404页面挂在errorElement上导致一直不能正确匹配。正确操作是在children最后一项写*通配符路由来接住所有未匹配到的地址。
总之reactrouter很值得写一篇文章好好介绍。
这篇入门文档的用户很易懂,而且循序渐进添加新功能,比我写router的时候考虑周到的多
教程里花了很长的篇幅讲了关于Form和Button模拟原生表单提交,以及loader和action的使用,这部分比较抽象,而且我感觉项目有实际后段的时候不一地用得上。
教程里的pathless路由包装错误页面感觉非常好用,但是我一开始误解了他的功能,尝试把404页面挂在errorElement上导致一直不能正确匹配。正确操作是在children最后一项写*通配符路由来接住所有未匹配到的地址。
总之reactrouter很值得写一篇文章好好介绍。
展开
评论
点赞
#挑战每日一条沸点# 今天在寻找electron下vite+react的项目配置方案。网上现有的的方案大多基于webpack而且做的比较成熟了,但是将vite集成进electron的实践却不多。
我在掘金找了几篇文章看,仔细观察后发现他们都借助到vite-plugin-electron和vite-plugin-electron-renderer插件。并且github组织electron-vite中提供了相应的template可供使用。
出于好奇,我于是顺藤摸瓜找到了主要贡献者写的文章,通过他的讲述和阅读源码了解了通过vite钩子启动electron,并且实现本地库加载的原理,感觉很有收获。
我在掘金找了几篇文章看,仔细观察后发现他们都借助到vite-plugin-electron和vite-plugin-electron-renderer插件。并且github组织electron-vite中提供了相应的template可供使用。
出于好奇,我于是顺藤摸瓜找到了主要贡献者写的文章,通过他的讲述和阅读源码了解了通过vite钩子启动electron,并且实现本地库加载的原理,感觉很有收获。
展开
评论
点赞