Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.60 KB | None | 0 0
  1. function InjectorComponent(props) {
  2. function injectDataAttribute(reactElement) {
  3. if (React.isValidElement(reactElement)) {
  4. try {
  5. reactElement.type.attrs = { "data-test-id": reactElement.type.displayName};
  6. } catch(e) {}
  7.  
  8. }
  9. }
  10. React.Children.forEach(props.children, (child) => TraverseReactTree(child, injectDataAttribute));
  11. return props.children;
  12. }
  13.  
  14. function TraverseReactTree(reactElem, cb) {
  15. if (React.isValidElement(reactElem)) {
  16. cb(reactElem);
  17. React.Children.map(reactElem.props.children, (child) => {
  18. cb(child);
  19. TraverseReactTree(child, cb);
  20. });
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement