Если у вас роутер не 4й версии, то можно попробовать добавить к роутам свойство wrapperClass
<Route path="/" component={App}>
<Route path="list" component={ListComponent} wrapperClass="wrapper--list" />
</Route>
Идеологически, конечно, не очень хорошо мешать стили и конфигурацию роутов. Но зато: в своем компоненте App вы можете достать эти значения безо всяких редьюсеров\диспатчей:
render() {
// routes - это массив роутов для текущей локации
// если взять за основу конфигурацию роутов, которую я привел выше,
// то при переходе по пути /list в массиве будет два элемента.
const { children, routes } = this.props
const wrapperClass = (_.findLast(routes, route => !!route.wrapperClass) || {}).wrapperClass
return (
<div className={wrapperClass}>
{children}
</div>
)
}