还记得之前有提到在 Day 5 有提到 React Native 的 margin / padding / border ?
针对这麽不合理的写法我们要怎麽让他优化呢?
今天就来运用 js 来让写法更简洁吧 !
什麽是 Mixin(混合器)呢?
就是可以简单的将样式分享,像是如果你常常使用一样的样式,就应该把它改成优良的 Mixin(混合器)。
在 js 要如何制作一个 Mixin(混合器)?
我们只需要制作一个函数且返回对象的函数即可有此效果!
接着我们来尝试把 padding 优化成可以像是 css 的方式来写样式,建置一个简单的 Mixin:
1.先在 constants 档案夹中建置一个 layout.js
export const layout = {
padding(...arg) {
let padding = {};
switch (arg.length) {
case 1:
padding = {
paddingTop: arg[0],
paddingRight: arg[0],
paddingBottom: arg[0],
paddingLeft: arg[0],
};
break;
case 2:
padding = {
paddingVertical: arg[0],
paddingHorizontal: arg[1],
};
break;
case 3:
padding = {
paddingTop: arg[0],
paddingHorizontal: arg[1],
paddingBottom: arg[2],
};
break;
case 4:
padding = {
paddingTop: arg[0],
paddingRight: arg[1],
paddingBottom: arg[2],
paddingLeft: arg[3],
};
break;
default:
break;
}
return padding;
},
};
import { layout } from '../constants/layout';
接着就可以於 styleSheet 的地方加入
const styles = StyleSheet.create({
container: {
...layout.padding(25, 15, 10, 5)
},
});
如此一来就可以使用 css 方法来呈现 padding 的样式噜!!这样减少了很多不必要的字元!!
总之样式的优化其实很重要,需要明确易懂,到现在介绍的这几个方式,希望对大家有帮助!!
Day 10 done 欢迎指教噜!!
<<: Day11 跟着官方文件学习Laravel-利用Eloquent ORM改写专案
引言 今天是机派X系列文章的第十三天。 昨天终於介绍完无人机上的重要部件,从今天开始会动手组装无人机...
所有雇员(All employees) 总体上,“所有员工”是接受或参加意识介绍或活动的理想目标,...
前言 retrofit负责请求网路资料请求,rxjava负责异步执行、thread之间的切换,今天实...
09-11-2021 本章内容 事件处理的不同写法 事件处理 事件的值 React中的预设行为 将参...
External Authorization这功能主要拿来做request的验证,可以在reques...