Ant Design Pro
初始化时依赖包报错
配置 tsconfig.json
:
{
"compilerOptions": {
"forceConsistentCasingInFileNames": false
}
}
添加路由
在config/routes.ts
下配置,比如添加 home 路由,先在src/pages
下新建 Home.tsx
路由组件
export default [
{
path: '/home',
name: 'home',
icon: 'home',
component: './Home'
}
];
CSS 方案
CSS Modules 模块化
- 目的:避免样式冲突
- 原理:对每个类名按照一定规则进行转换
import styles from './example.less';
export default ({ title }) => <div className={styles.title}>{title}</div>;
如果在浏览器查看 Dom 结构,可以看到类名被自动添加了一个 hash 值,保证了它的唯一性
<div class="title___3TqAx">title</div>
如果想让样式全局生效可以使用 :global
example.less
.title {
margin-bottom: 16px;
color: @heading-color;
font-weight: 600;
}
/* 定义全局样式 */
:global(.text) {
font-size: 16px;
}
/* 定义多个全局样式 */
:global {
.footer {
color: #ccc;
}
.sider {
background: #ebebeb;
}
}
CSS-in-JS
数据流方案
全局初始数据
在src/app.tsx