-
css normalize
是让所有浏览器默认样式基本一样,css reset
是让默认样式重置
- react安装
dart-sass
- 使用该命令进行
偷梁换柱
,让react以为安装的是node-sass
,实际上安装的是dart-sass
yarn add node-sass@npm:dart-sass
- webstorm配合react让
css
使用src
为根路径
:标记src
为根目录
image.png
- react让js使用src为根路径:配置jsconfig.json
"baseUrl": "src",
"include": [
"src"
]
- react css 方案:
styled-components
yarn add styled-components
yarn add --dev @types/styled-components // 配合typesricpt
- react router 方案:
react-router-dom
yarn add react-router-dom.
yarn add --dev @types/react-router-dom
- react 使用
svg
yarn eject
yarn add --dev svg-sprite-loader
{
test: /\.svg$/,
use: [
{ loader: 'svg-sprite-loader', options: {} },
// 'svg-transform-loader',
'svgo-loader'
]
}
- 安装所需 loader
- require 所有
svg
const importAll = (requireContext: __WebpackModuleApi.RequireContext)=>{
requireContext.keys().forEach(requireContext)
}
try {
importAll(require.context('icons',true,/\.svg$/))
}catch (err){
console.log(err);
}
- 同时需要
yarn add --dev @types/webpack-env
解决ts报错
- svg去除颜色:源文件里的
fill
删掉
- webpack配置删除svg的所有fill:(新版的配置要加
name
)
{
loader: 'svgo-loader', options: {
plugins: [{name: "removeAttrs",params:{attrs: "fill"}}]
}
}
- 如果
声明或import了一个变量却不使用
,react的treeshaking
就会把改代码删掉。这时候需要使用require
。因为treeshaking
不适用于require
- 路由高亮:
NavLink
标签,activeClassName
属性
<NavLink to="/money" activeClassName="selected">
<Icon name="money"/>
记账
</NavLink>
- styled components 配合组件
使用的组件里要在需要的地方使用className={props.className}
const MyLayout = styled(Layout)`
display: flex;
flex-direction: column;
`
const Layout = (props: any) => {
return (
<Wrapper>
<Main className={props.className}>
{props.children}
</Main>
<Nav/>
</Wrapper>
);
};
- ts可以用typeof获取一个值的类型
- Partial表示子集
const onChange = (obj:Partial<typeof selected>)=>{
setSelected({
...selected,
...obj
})
}
- ts <>相当于参数
- 想让一个元素居中,可以给其加一个box,然后给这个box设置flex属性(属于黑科技了)
- 路由精准匹配:
<Route path="/tags/:tag" exact={true}>
<TagEdit/>
</Route>
<input {...rest}/>
- 函数可以延迟执行代码
- 元素类型继承:
&
type Props = {
name?: string
} & React.SVGAttributes<SVGAElement>
yarn add classnames
yarn add --dev @types/classnames
网友评论