Installation
NPM​
Le packet Recoil est hébergé sur npm . Pour installer la dernière version stable, utiliser la commande suivante:
npm install recoil
Ou si vous utilisez yarn:
yarn add recoil
Groupeur de modules​
Recoil, installé via NPM, fonctionne sans soucis avec des groupeur de modules tels que Webpack ou Rollup.
Prise en charge ES5​
Recoil n'est pas transpilé vers ES5 et nous ne prenons pas en charge l'utilisation de Recoil avec ES5. Si vous avez besoin de prendre en charge des navigateurs qui ne fournissent pas un niveau de fonctionnalités ES6 de manière native, vous pouvez le compiler votre code avec Babel et en utilisant le preset @babel/preset-env. Cependant, nous ne prenons pas en charge ce cas et vous êtes suceptible de rencontrer des problèmes.
En particulier, tout comme React, Recoil dépend des types Map
et Set
et d'autres fonctionnalités d'ES6. L'émulation de ces fonctionnalités à l'aide de polyfills peut entraîner des problème de performances.
RDC​
Depuis la version 0.0.11, Recoil offre un packet UMD qui peut être directement utilisée dans une balise <script>
et expose le symbole Recoil
globalement. Nous vous recommandons de créer un lien vers un numéro de version et une version spécifiques pour éviter une rupture inattendue des versions plus récentes:
<script src = "https://cdn.jsdelivr.net/npm/[email protected]/umd/recoil.production.js"> </script>
Vous pouvez parcourir tous les fichiers Recoil sur le RDC Ã jsdelivr.
ESLint​
Si vous utilisez eslint-plugin-react-hooks dans votre projet. Par exemple, avec une configuration eslint comme celle-ci:
// Configuration .eslint avant
{
"plugins": [
"react-hooks"
],
"rules": {
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn"
}
}
Il est recommandé d'ajouter 'useRecoilCallback'
à la liste des additionalHooks
. Avec ce changement, ESLint avertira lorsque les dépendances passées à useRecoilCallback()
sont spécifiées de manière incorrecte et suggérera un correctif. Le format de additionalHooks
est une chaîne d'expression régulière.
// Configuration .eslint après
{
"plugins": [
"react-hooks"
],
"rules": {
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": [
"warn", {
"additionalHooks": "useRecoilCallback"
}
]
}
}
Version journalière​
Nous construisons un packet une fois par jour basé sur la branche main
courrente et le publions en tant que branche nightly
sur GitHub. Vous pouvez utiliser cette branche via npm
:
npm install https://github.com/facebookexperimental/Recoil.git#nightly
ou yarn
:
yarn add https://github.com/facebookexperimental/Recoil.nit#nightly
ou ajoutez une dépendance dans package.json
et exécutez npm install
ou yarn install
:
"recoil": "facebookexperimental/Recoil.git#nightly",