ReactJs Mondial Des Fonctions D'Assistance
Question:
J'ai beaucoup de petites fonctions d'assistance qui n'a pas nécessairement besoin de vivre dans un composant(ou peut-être qu'ils peuvent, mais ils feront de ce composant gonflé avec beaucoup de code).De mon côté paresseux veut juste laisser ces tout simplement pas une sorte de fonctions globales que les composants peuvent appeler.Je veux vraiment faire de bonnes ReactJs code.
Question:
Quelles sont les meilleures pratiques en termes de fonctions d'assistance global dans Reactjs? Dois-je les forcer dans une sorte de composant ou tout simplement les pousser dans les autres composants?
Exemple De Base:
function helperfunction1(a, b) {
//does some work
return someValue;
}
function helperfunction2(c, d) {
//does some work
return someOtherValue;
}
function helperfunction3(e, f) {
//does some work
return anotherValue;
}
function helperfunction4(a, c) {
//does some work
return someValueAgain;
}
var SomeComponent =
React.createClass({
//Has bunch of methods
//Uses some helper functions
render: function () {
}
});
var SomeOtherComponent =
React.createClass({
//Has bunch of methods
//Uses some helper functions
render: function () {
}
});
Vous devez vous connecter pour publier un commentaire.
Vous pouvez exporter plusieurs fonctions à partir d'un fichier, pas de Réagir nécessaire en soi:
Helpers.js:
Vous pouvez ensuite importer les fonctions dont vous avez besoin:
onClick={(e) => {exportTableToExcel("ParkSorguTable", "ParkSorgu")}}
causesTypeError: Object(...) is not a function
l'importation commeimport exportTableToExcel from '@/util/helper.js';
import {exportTableToExcel} from '@/util/helper.js';
export default function myFunction () { /* ... */ }
et puis:import myFunction from './myFunction'
.Vous pouvez utiliser un module de regroupement outil comme Webpack ou Browserify pour que.
Mettez votre réutilisables fonctions dans un CommonJS module.
Ne pas utiliser de Mixin, ils seront probablement obsolète dans les prochaines versions de Réagir comme il n'y a pas de méthode standard pour déclarer mixin à Réagir avec de l'ES6 syntaxe et ils préfèrent attendre pour ES7 qui sera probablement normaliser mixin. Et il n'y a pas de point de couplage votre code réutilisable à Réagir, sauf si elle utilise Réagir cycle de vie de ses méthodes.
export function help(someArg) { return "something" }
et exigent que, si vous en avez besoin.Vous pouvez utiliser modulejs.
ou vous pouvez utiliser mixin (https://facebook.github.io/react/docs/reusable-components.html#mixins)
Échantillon pour mixin: https://jsfiddle.net/q88yzups/1/
Juste une autre option, si vous ne voulez pas de se diviser en un module séparé, vous pouvez créer une méthode privée dans votre composant parent comme ci-dessous et utiliser librement à l'intérieur de ce composant ou de passer à l'enfant les composants via des accessoires..
Toutes testées, mais c'est l'idée...