创建项目

进入到/life-memory-react文件夹中,使用如下命令创建一个react+ts的项目
create-react-app . --template typescript
创建.env文件填写BROWSER=none,下次在启动项目的时候不会自动打开浏览器
.js.jsx -支持标签的js.ts -Typescript.jsx -支持标签的ts
目录说明

新版的react里面<React.StrictMode>没有什么特别的影响的功能,但是没有它包裹更组件也无所谓,它主要的用途是可以提示开发者在写代码的时候哪些地方错误或者api过时了,给予一些好的提示和建议,建议不要删除,挺不错的一个辅助功能。
作为一个Vue使用较多的开发者需要做一下对比:
目录相对更简洁:create-react-app 生成的几乎只有一个src和public
内置的功能更少:
- 没有自带Router
- 没有自带Redux
- 没有自带SCSS
CSS normalize
- create-react-app 的文档有教
- 做法
- 在index.css文件里面直接
@import-normalize就可以了,作用是保持样式在不同的浏览器的默认样式相近。
SCSS支持
- create-react-app的文档里面有写
- 我的推荐方法
使用dart-sass 代替 node-sass (后者经常被墙)yarn add --dev node-sass@npm:dart-sass@1.25.0上面的命令可以将node-sass替换成dart-sass然后将所有的 .css 改成 .scss 即可

如果出现上面的提示,选No让CSS @import引用更方便
- Vue项目中用
@表示src/目录 - React不一样,可以直接
@import 'xxx/yy'来引入src/xxx/yy.scss - JS中也不需要
@,因为可以的直接import 'xxx/yy.tsx',但是需要在tsconfig.json中添加一行"baseUrl":"src"
helper.scss
- 创建src/helper.scss
- helper放置变量,函数等公用的东西
- 比如写一句
$red:#f00
- 使用 helper.scss
- 在
index.scss或者App.scss写@import "helper",即可引用它 - 然后你就可以写
color:$red
在此项目里面我的技术选型不使用这种方式的CSS,React的技术选型非常的广,这里我选择了CSS-in-JS的方案:styled-components,除了安装styled-components,还要安装@types/styled-components。
前者是JS源码,后者是TS类型声明文件。webstrom安装一下如下插件。
就能愉快的开始编码了。
同时webstorm再设置一下,体验更好,试试就知道,嘻嘻。
删除测试用的代码,到如下
记得对应的import语句也删掉,还有一些没用的注释啥的,我们要的尽量的简洁。
