Source: social/SocialCounter.js

import React, {useMemo } from "react";
import { processOptions } from "../../_core";
import * as ReactShare from "react-share";

/**
 * Componente que renderiza un contador de iteracciones sociales
 * @name Reactor.Components.Social.SocialCounter
 * @param {string} name
 * @param {string} options
 * @class
 * @example
<social_counter ></social_counter>
 */

export const SocialCounter = ({ name, options, children }) => {
  const Component = useMemo(() => counters[name], [name]);
  const objOptions = useMemo(() => processOptions(options), [options]);
  return (
    <Component {...objOptions}>
      {children}
    </Component>
  )
}

const counters = {
  facebook: ReactShare.FacebookShareCount,
  hatena: ReactShare.HatenaShareCount,
  ok: ReactShare.OKShareCount,
  pinterest: ReactShare.PinterestShareCount,
  reddit: ReactShare.RedditShareCount,
  tumblr: ReactShare.TumblrShareCount,
  vk: ReactShare.VKShareCount
};