Aller au contenu principal

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 master 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",