takeru0001 5 лет назад
Родитель
Сommit
1a542d9ff1
1 измененных файлов с 34 добавлено и 0 удалено
  1. 34 0
      src/client/js/components/CountLikes.jsx

+ 34 - 0
src/client/js/components/CountLikes.jsx

@@ -0,0 +1,34 @@
+import { useEffect, useCallback, useState } from 'react';
+import PropTypes from 'prop-types';
+
+import { withUnstatedContainers } from './UnstatedUtils';
+import AppContainer from '../services/AppContainer';
+import PageContainer from '../services/PageContainer';
+
+const CountLikes = (props) => {
+  const { appContainer, pageContainer } = props;
+  const { pageId } = pageContainer.state;
+  const [totalLikes, setTotalLikes] = useState(null);
+
+
+  const retriveCountLikes = useCallback(async() => {
+    const res = await appContainer.apiv3Get('/page/countLikes', { _id: pageId });
+    setTotalLikes(res.data.result);
+  }, [appContainer, pageId]);
+
+  useEffect(() => {
+    retriveCountLikes();
+  }, [retriveCountLikes]);
+
+  return (totalLikes);
+};
+
+const CountLikesWrapper = withUnstatedContainers(CountLikes, [AppContainer, PageContainer]);
+
+
+CountLikes.propTypes = {
+  appContainer: PropTypes.instanceOf(AppContainer),
+  pageContainer: PropTypes.instanceOf(PageContainer),
+};
+
+export default CountLikesWrapper;