繁体   English   中英

如何在每个组件中具有“链接”的反应路由器中使用“CSSTransition”?

[英]How to use 'CSSTransition' in react-router that has 'Link' in each component?

我有一个包含“路由”的“CSSTransition”组件,但我不能在“链接”组件中放置一个更改“状态”的函数,因为每个组件都在不同的文件中

在 routes.js 中


const Routes = () =\> {

    const [isEnter, setIsEnter] = useState(false)
    
    return(
        <CSSTransition
            in={isEnter}
            timeout={4000}
            classNames='fade'
        >
            <Router>
                <Routes>
                    <Route exact path='/' element={<StartPage />} />
                    <Route path='/question-one' element={<FirstQuestion />} />
                    <Route path='/question-two' element={<FavoritePerson />} />
                    <Route path='/question-three' element={<ChoseMode />} />
                    <Route path='/first-message' element={<SuccessPage />} />
                    <Route path='/question-four' element={<FavoriteDate />} />
                    <Route path='/last-question' element={<DoYouWannaDateMe />} />
                </Routes>
            </Router>
        </CSSTransition>
    )

}

export default Routes;

在每个组件中


export default function StartPage() {

return (
\<div className="card"\>

        <h1 className='card-title'>Está pronta?</h1>
        <form>
          <Link to='/question-one' className='button-submit'
          onClick={()=>{
            setIsEnter()
          }}
          >SIM</Link>
          <input type='button' value='NÂO' onClick={warningMessage}></input>
        </form>
        
      </div>

);

}

StartPage.js 中未定义更改“CSStransition”状态的函数“setIsEnter()”

如果我理解正确的话,我有这个选项。 声明您需要的组件,并将其作为道具传递给所有路线。

function func() {...}

<Route path='/question-one' element={<FirstQuestion func={func} />}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM