-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathp14.txt
98 lines (72 loc) · 2.69 KB
/
p14.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
-------------------P14----------------------------
Modale :
s'affiche si tous les champs remplis sont corrects
reste affichée tant qu'on ne la ferme pas
vide les champs lorsque qu'on la ferme
useTable ===> hook de démarrage de react table, pour l'utiliser il faut lui passer un objet contenant une liste des colonnes et une liste de data ces listes doivent etre mémoîsées à l'aide de useMemo
useMemo ===> Renvoie une valeur mémoïsée , recalculera la valeur que si l'une de ses entrées a changé(tableau ou fonction de création), évite les calculs à chaque rendu
package npm :
- npm init
- installer react et react-dom v17 pour eviter les conflits de version
- installer storybook pour pouvoir travailler sur le composant sans avoir a le compiler et le publier a chaque fois (npx sb init )
- exemple de stories : select.storie.js :
import React from 'react'
import { storiesOf } from '@storybook/react'
import {SelectDk} from '../components/SelectDk'
const stories = storiesOf('App test', module)
stories.add('App', () => {
let test = [{name:'test', label:"test"}, {name:'test2', label:"test2"}]
return(
<form>
<SelectDk listBoxStyle={{width:'30%', color:'white'}} datas={test} child={"test"}/>
</form>
)
})
- npm run storybook pour l'ouvrir
- installer rollup :
"rollup": "^2.72.1",
"rollup-plugin-babel": "^4.4.0",
"rollup-plugin-peer-deps-external": "^2.2.4",
"rollup-plugin-postcss": "^4.0.2"
l'import de proptypes ne fonctionne pas durant la compilation rollup , remplacer par ' const PropTypes = require("prop-types")'
-rollup.config.js :
import babel from "rollup-plugin-babel"
import resolve from "@rollup/plugin-node-resolve"
import external from "rollup-plugin-peer-deps-external"
// import {terser} from 'rollup-plugin-terser'
import postcss from "rollup-plugin-postcss"
export default [
{
input: "./src/index.js",
output: [
{
file: "dist/index.js",
format: "cjs",
},
{
file: "dist/index.es.js",
format: "es",
exports: "named",
},
],
plugins: [
postcss({
plugins: [],
minimize: true,
}),
babel({
exclude: "node_modules/**",
presets: ["@babel/preset-react"],
}),
external(),
resolve(),
// terser()
],
},
]
- ajouter le script "build-lib": "rollup -c" dans le package.json
- ajouter le pluggin terser pour minifier
- avant de publier ne pas oublier de compléter ds package json:
"main": "dist/index.js",
"module" : "dist/index.es.js",
Rollup est un bundler de modules pour JavaScript qui compile de petits morceaux de code en quelque chose de plus grand et plus complexe, comme une bibliothèque ou une application.