A fork of the react-starter-kit showing how to use esri-loader in an isomorphic/universal React application.
This fork adds an <EsriMap />
component that lazy loads the ArcGIS API for JavaScript and renders a simple map only once the user navigates to the /map
route in a browser. By using the componentDidMount()
lifecyle hook, the <EsriMap />
component ensures that the ArcGIS API and it's modules aren't loaded or used when rendering on the server.
The following is from the React Starter Kit:
React Starter Kit — "isomorphic" web app boilerplate
React Starter Kit is an opinionated boilerplate for web development built on top of Node.js, Express, GraphQL and React, containing modern web development tools such as Webpack, Babel and Browsersync. Helping you to stay productive following the best practices. A solid starting point for both professionals and newcomers to the industry.
See getting started guide, demo,
docs,
roadmap |
Join #react-starter-kit chat room on Gitter |
Visit our sponsors:
- Follow the getting started guide to download and run the project (Node.js >= 6.5)
- Check the code recipes used in this boilerplate, or share yours
The master
branch of React Starter Kit doesn't include a Flux implementation or any other
advanced integrations. Nevertheless, we have some integrations available to you in feature
branches that you can use either as a reference or merge into your project:
- feature/redux (PR)
— isomorphic Redux by Pavel Lang
(see how to integrate Redux) (based on
master
) - feature/apollo (PR)
— isomorphic Apollo Client by Pavel Lang
(see Tracking PR #1147) (based on
feature/redux
) - feature/react-intl (PR)
— isomorphic Redux and React Intl by Pavel Lang
(see how to integrate React Intl) (based on
feature/apollo
)
You can see status of most reasonable merge combination as PRs labeled as TRACKING
If you think that any of these features should be on master
, or vice versa, some features should
removed from the master
branch, please let us know.
We love your feedback!
React Starter Kit |
React Static Boilerplate |
ASP.NET Core Starter Kit |
|
---|---|---|---|
App type | Isomorphic (universal) | Single-page application | Single-page application |
Frontend | |||
Language | JavaScript (ES2015+, JSX) | JavaScript (ES2015+, JSX) | JavaScript (ES2015+, JSX) |
Libraries | React, History, Universal Router | React, History, Redux | React, History, Redux |
Routes | Imperative (functional) | Declarative | Declarative, cross-stack |
Backend | |||
Language | JavaScript (ES2015+, JSX) | n/a | C#, F# |
Libraries |
Node.js,
Express,
Sequelize, GraphQL |
n/a |
ASP.NET Core,
EF Core, ASP.NET Identity |
SSR | Yes | n/a | n/a |
Data API | GraphQL | n/a | Web API |
♥ React Starter Kit? Help us keep it alive by donating funds to cover project expenses via OpenCollective or Bountysource!
Anyone and everyone is welcome to contribute to this project. The best way to start is by checking our open issues, submit a new issues or feature request, participate in discussions, upvote or downvote the issues you like or dislike, send pull requests.
- Getting Started with React.js
- Getting Started with GraphQL and Relay
- React.js Questions on StackOverflow
- React.js Discussion Board
- Flux Architecture for Building User Interfaces
- Enzyme — JavaScript Testing utilities for React
- Flow — A static type checker for JavaScript
- The Future of React
- Learn ES6, ES6 Features
- GraphQL Starter Kit — Boilerplate for building data APIs with Node.js, JavaScript (via Babel) and GraphQL
- Membership Database — SQL schema boilerplate for user accounts, profiles, roles, and auth claims
- Babel Starter Kit — Boilerplate for authoring JavaScript/React.js libraries
- #react-starter-kit on Stack Overflow — Questions and answers
- #react-starter-kit on Gitter — Watch announcements, share ideas and feedback
- GitHub issues, or Scrum board — File issues, send feature requests
- appear.in/react — Open hours! Exchange ideas and experiences (React, GraphQL, startups and pet projects)
- @koistya on Codementor, or Skype — Private consulting
Copyright © 2014-present Kriasoft, LLC. This source code is licensed under the MIT license found in the LICENSE.txt file. The documentation to the project is licensed under the CC BY-SA 4.0 license.
Made with ♥ by Konstantin Tarkus (@koistya) and contributors