Sha256: 675ae57d3a3481aa57af8031e0321a64238e75830cf61bcc5ef7222f0e8166ec
Contents?: true
Size: 853 Bytes
Versions: 1
Compression:
Stored size: 853 Bytes
Contents
import React, { useEffect, useState } from "react"; import PropTypes from "prop-types"; import store from "stores/user"; import Article from "components/user/Article"; import ArticleModel from "models/Article"; function ArticleList(props) { const [articles, setArticles] = useState(props.articles); useEffect(() => { const unsubscribe = store.subscribe(() => setArticles(store.getState().articles) ); return () => { unsubscribe(); }; }); const list = articles.map(article => ( <Article key={article.id} article={article} onArticleDestroyed={props.onArticleDestroyed} /> )); return <>{list}</>; } ArticleList.propTypes = { articles: PropTypes.arrayOf(PropTypes.instanceOf(ArticleModel)).isRequired, onArticleDestroyed: PropTypes.func.isRequired }; export default ArticleList;
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
loco-rails-3.0.4 | test/dummy/frontend/js/containers/user/ArticleList.js |