add classname prop to router

This commit is contained in:
NikolaBorislavovHristov 2019-08-30 11:25:36 +03:00
parent 7f1106a2dd
commit 4307df638a
2 changed files with 7 additions and 4 deletions

View file

@ -8,7 +8,7 @@ const queryParamsForQuery = require('./queryParamsForQuery');
const routeConfigForPath = require('./routeConfigForPath');
const urlParamsForPath = require('./urlParamsForPath');
const Router = ({ onPathNotMatch, ...props }) => {
const Router = ({ className, onPathNotMatch, ...props }) => {
const [{ homePath, viewsConfig }] = React.useState(() => ({
homePath: props.homePath,
viewsConfig: props.viewsConfig
@ -79,7 +79,7 @@ const Router = ({ onPathNotMatch, ...props }) => {
};
}, [onPathNotMatch]);
return (
<RoutesContainerProvider>
<RoutesContainerProvider className={className}>
{
views
.filter(view => view !== null)
@ -94,6 +94,7 @@ const Router = ({ onPathNotMatch, ...props }) => {
};
Router.propTypes = {
className: PropTypes.string,
homePath: PropTypes.string,
onPathNotMatch: PropTypes.func,
viewsConfig: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.exact({

View file

@ -1,12 +1,13 @@
const React = require('react');
const PropTypes = require('prop-types');
const classnames = require('classnames');
const RoutesContainerContext = require('./RoutesContainerContext');
const RoutesContainerProvider = ({ children }) => {
const RoutesContainerProvider = ({ className, children }) => {
const [container, setContainer] = React.useState(null);
return (
<RoutesContainerContext.Provider value={container}>
<div ref={setContainer} className={'routes-container'}>
<div ref={setContainer} className={classnames(className, 'routes-container')}>
{container instanceof HTMLElement ? children : null}
</div>
</RoutesContainerContext.Provider>
@ -14,6 +15,7 @@ const RoutesContainerProvider = ({ children }) => {
};
RoutesContainerProvider.propTypes = {
className: PropTypes.string,
children: PropTypes.oneOfType([
PropTypes.arrayOf(PropTypes.node),
PropTypes.node