All Projects â†’ davetimmins â†’ esri-loader-react

davetimmins / esri-loader-react

Licence: other
🚡 A React component wrapper around esri-loader

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to esri-loader-react

cmv-widgets
Dojo Widgets to extend the functionality of CMV
Stars: ✭ 19 (-29.63%)
Mutual labels:  esri-js, esri-javascript-api
cmv-widgets
Widgets for CMV, the Configurable Map Viewer.
Stars: ✭ 37 (+37.04%)
Mutual labels:  esri-js, esri-javascript-api
cmv-contrib-widgets
User contributed widgets for CMV
Stars: ✭ 36 (+33.33%)
Mutual labels:  esri-js, esri-javascript-api
vector-tile-demo-js
Demo Application for switching vector tile styles on the fly
Stars: ✭ 15 (-44.44%)
Mutual labels:  esri-js, esri-javascript-api
angular-esri-components
A set of Angular components to work with ArcGIS API for JavaScript v4.6
Stars: ✭ 43 (+59.26%)
Mutual labels:  esri-js, esri-javascript-api
fgpv-vpgf
RAMP2 FGP Visualiser / Visualisateur pour la PGF PCAR2 - The Reusable Accessible Mapping Platform (RAMP), also known as the Federal Geospatial Platform Visualiser (FGPV), is a Javascript based web mapping platform that provides a reusable, responsive and WCAG 2.1 "AA" compliant common viewer platform for the Government of Canada. This is an unsu…
Stars: ✭ 34 (+25.93%)
Mutual labels:  esri-javascript-api
Manhattan-skyscraper-explorer
Demo application for 3D building exploration in Manhattan.
Stars: ✭ 28 (+3.7%)
Mutual labels:  esri-javascript-api
esri-experiments
Fly in space and look across the sea: demos and experiments with the ArcGIS API for JavaScript
Stars: ✭ 29 (+7.41%)
Mutual labels:  esri-js
gfw-mapbuilder
Template for the GFW Map Builder that is available through ArcGIS Online, as a stand-alone web application, & a library to build custom Forest Atlas web applications
Stars: ✭ 29 (+7.41%)
Mutual labels:  esri-js
esri-vue-cli-example
An example of how to use the ArcGIS API for JavaScript 3.x in a vue-cli application
Stars: ✭ 38 (+40.74%)
Mutual labels:  esri-loader
esri-redux
Simple boilerplate demonstrating how to setup a project using React, Redux, Flow, and the Esri JavaScript API.
Stars: ✭ 34 (+25.93%)
Mutual labels:  esri-javascript-api
atlas
UGRC's boilerplate for JavaScript applications.
Stars: ✭ 34 (+25.93%)
Mutual labels:  esri-javascript-api

esri-loader-react

Build Status

npm

A React component wrapper around esri-loader

Version 2.x of this library is compatible with esri-loader 1.5.0 and higher.

Usage

npm install react react-dom prop-types esri-loader esri-loader-react

Mount the loader component to load the Esri JS API when you will need it in your app. You can pass in the options that get forwarded to the esri-loader loadModules function.

You can still use this component as a means of pre-loading the Esri JS API though it is less useful now that esri-loader version 1.5.0 onward is basically a 1-liner to do this. Instead, the main usage of this component is likely to be ensuring that the Esri JS API is ready to use and the modules you need are available and these can then be used to do something in your UI with a DOM node mounted for you to use. If you don't need to auto inject a container node into your UI then set renderMapContainer={false}. You can pass through children to be rendered too.

import React, {PureComponent} from 'react';
import EsriLoaderReact from 'esri-loader-react';

class AppMain extends PureComponent {

  render() {
    const options = {
      url: 'https://js.arcgis.com/4.6/'
    };

    return (
      <EsriLoaderReact 
        options={options} 
        modulesToLoad={['esri/Map', 'esri/views/MapView']}    
        onReady={({loadedModules: [Map, MapView], containerNode}) => {
          new MapView({
            container: containerNode,
            map: new Map({basemap: 'oceans'})
          });
        }}
      />
    );
  }
}

you can still use the functions from esri-loader elsewhere in your code as needed.

The component has the following properties

EsriLoaderReact.propTypes = {
  renderMapContainer: PropTypes.bool, // default is true
  mapContainerClassName: PropTypes.string, // default is 'map-view'
  modulesToLoad: PropTypes.arrayOf(PropTypes.string),
  options: PropTypes.shape({
    url: PropTypes.string,
    dojoConfig: PropTypes.object
  }),
  onError: PropTypes.func, // (error, info) => also called from componentDidCatch, default is onError: (error, info) => console.error(error),
  onReady: PropTypes.func, // ({loadedModules, containerNode}) => containerNode is null if renderMapContainer !== true
};

Build locally

  1. npm install
  2. npm run build

you can run the demo using npm start

Examples

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].