是時候拿React練練手了~html
https://reactjs.org/community/examples.htmlreact
https://daveceddia.com/react-practice-projects/git
https://github.com/enaqx/awesome-react#example-appsgithub
http://todomvc.com/examples/react/#/npm
https://reactjs.org/tutorial/tutorial.htmlredux
https://tutorialzine.com/2014/07/5-practical-examples-for-learning-facebooks-react-frameworkapi
Reduxbabel
https://github.com/camsong/redux-in-chinesemvc
https://github.com/xgrommx/awesome-redux
例子:
https://redux.js.org/docs/introduction/Examples.html
https://github.com/builderbook/builderbook
參考
. ├── boilerplate # Boilerplate with React, Material-UI, Next, Express, Mongoose, MongoDB ├── book # Codebases for each chapter of our book ├── components # React components │ ├── admin # Components used on Admin pages │ │ ├── EditBook.js # Edit title, price, and repo of book │ │ ├── GiveFreeBook.js # Give free book to user │ ├── customer # Components used on Customer pages │ │ ├── Bookmark.js # Bookmark a section within a book chapter │ │ ├── BuyButton.js # Buy book │ ├── BookReviews.js # Component that outputs grid of reviews │ ├── Header.js # Header component │ ├── HomeFooter.js # Footer component on homepage │ ├── HomeHeader.js # Header component on homepage │ ├── MenuDrop.js # Dropdown menu │ ├── Notifier.js # In-app notifications for app's users │ ├── SharedStyles.js # List of _reusable_ styles │ ├── TOC.js # Table of Contents ├── lib # Code available on both client and server │ ├── api # Client-side API methods │ │ ├── admin.js # Admin user methods │ │ ├── customer.js # Customer user methods │ │ ├── getRootURL.js # Returns ROOT_URL │ │ ├── public.js # Public user methods │ │ ├── sendRequest.js # Reusable code for all GET and POST requests │ ├── context.js # Context for Material-UI integration │ ├── notifier.js # Contains notify() function that loads Notifier component │ ├── withAuth.js # HOC that passes user to pages and more │ ├── withLayout.js # HOC for SSR with Material-UI and more ├── pages # Pages │ ├── admin # Admin pages │ │ ├── add-book.js # Page to add a new book │ │ ├── book-detail.js # Page to view book details and sync content with Github │ │ ├── edit-book.js # Page to update title, price, and repo of book │ │ ├── index.js # Main Admin page that has all books and more │ ├── customer # Customer pages │ │ ├── my-books.js # Customer's dashboard │ ├── public # Public pages (accessible to logged out users) │ │ ├── login.js # Login page │ │ ├── read-chapter.js # Page with chapter's content │ ├── _document.js # Allows to customize pages (feature of Next.js) │ ├── index.js # Homepage │ ├── book.js # Book page ├── server # Server code │ ├── api # Express routes, route-level middleware │ │ ├── admin.js # Admin routes │ │ ├── customer.js # Customer routes │ │ ├── index.js # Mounts all Express routes on server │ │ ├── public.js # Public routes │ ├── models # Mongoose models │ │ ├── Book.js # Book model │ │ ├── Chapter.js # Chapter model │ │ ├── EmailTemplate.js # Email Template model │ │ ├── Purchase.js # Purchase model │ │ ├── User.js # User model │ ├── utils # Server-side util │ │ ├──slugify.js # Generates slug for any Model │ ├── app.js # Custom Express/Next server │ ├── aws.js # AWS SES API │ ├── github.js # Github API │ ├── google.js # Google OAuth API │ ├── logs.js # Logger │ ├── mailchimp.js # MailChimp API │ ├── routesWithSlug.js # Express routes that contain slug │ ├── sitemapAndRobots.js # Express routes for sitemap.xml and robots.txt │ ├── stripe.js # Stripe API ├── static # Static resources │ ├── robots.txt # Rules for search engine bots ├── test/server/utils # Tests │ ├── slugify.test.js # Unit test for generateSlug() function ├── .babelrc # Config for Babel ├── .eslintrc.js # Config for Eslint ├── .gitignore # List of ignored files and directories ├── .npmignore # Files and directories that are not uploaded to the server ├── now.json # Settings for now from Zeit ├── package.json # List of packages and scripts ├── yarn.lock # Exact versions of packages. Generated by yarn.