相关疑难解决方法(0)

React Router v4在父级上设置activeClass

不太熟悉react路由器,但我需要NavLink的功能来设置父li元素的活动类,而不是a元素.

为了实现这一点,我只看了它的源代码NavLink并将其复制到一个新元素.(使用打字稿的示例,但与js大致相同)

import * as React from 'react';
import { Link, withRouter, Route } from 'react-router-dom';


class LiNavLink extends React.Component<any, {}> {
    render() {
        const {to,exact, strict, activeClassName, className, activeStyle, style, isActive: getIsActive, ...rest } = this.props;
        return (
            <Route
                path={typeof to === 'object' ? to.pathname : to}
                exact={exact}
                strict={strict}
                children={({ location, match }) => {
                    const isActive = !!(getIsActive ? getIsActive(match, location) : match)

                    return (
                        <li 
                            className={isActive ? [activeClassName, className].join(' ') : …
Run Code Online (Sandbox Code Playgroud)

reactjs react-router-v4 react-router-dom

10
推荐指数
1
解决办法
5336
查看次数