- clickable world map with continent areas
- click on an area to select it (approx. continents)
- selecting it will change the className --> you add css to change the color
- built of SVG paths
npm install react-world-map --save
or, include
<script src=""https://cdn.jsdelivr.net/gh/heatherbooker/react-world-map@master/dist/index.js"></script>
in your html to use the script directly.
Controlled component:
<WorldMap selected={ 'sa' } onSelect={ (continent) => {} } />
Uncontrolled component:
<WorldMap />
Uncontrolled component also supports multiple selection using the multiple = { true }
prop. Example:
<WorldMap
multiple={ true }
/>
Full usage:
const React, { useState } = require('react');
const ReactDOM = require('react-dom');
const WorldMap = require('react-world-map');
function YourMainComponent() {
const [selected, onSelect] = useState(null);
return (
<>
<h1> Hello World Map!</h1>
<WorldMap selected={ selected } onSelect={ onSelect } />
</>
);
}
ReactDOM.render(
<YourMainComponent />,
document.getElementById('react-app')
)
onSelect: (continentCode) => void
selected: continentCode
whereas the list of possible continents is as follows:
na
- North Americasa
- South Americaaf
- Africaeu
- Europeas
- Asiaoc
- Oceania
.map-selected {
fill: #E3DA37;
}
.map-unselected {
fill: #699EAA;
}
.map-selected:hover, .map-unselected:hover {
cursor: pointer;
}
Please feel free to fork and PR if you think you have developed something useful!
license: WTFPL
bonus: blog post on the making of this map :)