mirror of
https://github.com/foomo/foomo-docs.git
synced 2025-10-16 12:35:40 +00:00
start of css and performance topics
This commit is contained in:
parent
4e42a9cfed
commit
5dba91a5ed
15
foomo/docs/frontend/css.md
Normal file
15
foomo/docs/frontend/css.md
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
sidebar_label: CSS
|
||||
sidebar_position: 2
|
||||
---
|
||||
# CSS
|
||||
|
||||
## About
|
||||
|
||||

|
||||
|
||||
Fun aside, CSS is hard. Besides knowing all strange and special use-cases, a frontend developer (and also designer) should be aware of constraints and feature that you can achieve with very little CSS and almost no JS.
|
||||
|
||||
A list of valuable resources:
|
||||
- https://css-tricks.com/
|
||||
- https://ishadeed.com/article/defensive-css/
|
||||
29
foomo/docs/frontend/performance.md
Normal file
29
foomo/docs/frontend/performance.md
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
sidebar_label: Performance
|
||||
sidebar_position: 4
|
||||
---
|
||||
# Performance
|
||||
|
||||
## JS
|
||||
|
||||
JS is nowadays extremely fast and yet we have many performance issues. Here you can find few common mistakes that occur in JS that can decrease performance.
|
||||
|
||||
### Extensive use of .map, .filter
|
||||
Let's say you have a large list of objects and you would like to filter them and transform them in some form. Usually we do this:
|
||||
|
||||
```
|
||||
const largeArray = [ .... ]
|
||||
largeArray.map(obj => transformObj(obj)).filter(omitBadObject)
|
||||
```
|
||||
|
||||
In the above case we first loop through whole set, transform it and then filter things out. Not only does this goes through all the items twice, but it also first time goes through all the items and then filters them.
|
||||
One optimization would be to first filter them and then transform them, but ideally we should just use a normal for loop or forEach where you go through items only once.
|
||||
```
|
||||
const finalArray = []
|
||||
largeArray.forEach(obj => {
|
||||
if (omitBadObject(obj)) {
|
||||
finalArray.push(transformObj(obj))
|
||||
}
|
||||
})
|
||||
```
|
||||
This code will skip another loop of items.
|
||||
Loading…
Reference in New Issue
Block a user