Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

51 строка
1.2 KiB

  1. /**
  2. * @fileoverview Prevent usage of findDOMNode
  3. * @author Yannick Croissant
  4. */
  5. 'use strict';
  6. const docsUrl = require('../util/docsUrl');
  7. // ------------------------------------------------------------------------------
  8. // Rule Definition
  9. // ------------------------------------------------------------------------------
  10. module.exports = {
  11. meta: {
  12. docs: {
  13. description: 'Prevent usage of findDOMNode',
  14. category: 'Best Practices',
  15. recommended: true,
  16. url: docsUrl('no-find-dom-node')
  17. },
  18. schema: []
  19. },
  20. create: function(context) {
  21. // --------------------------------------------------------------------------
  22. // Public
  23. // --------------------------------------------------------------------------
  24. return {
  25. CallExpression: function(node) {
  26. const callee = node.callee;
  27. const isfindDOMNode =
  28. (callee.name === 'findDOMNode') ||
  29. (callee.property && callee.property.name === 'findDOMNode')
  30. ;
  31. if (!isfindDOMNode) {
  32. return;
  33. }
  34. context.report({
  35. node: callee,
  36. message: 'Do not use findDOMNode'
  37. });
  38. }
  39. };
  40. }
  41. };