reactjs - 进入路由时触发功能(react-router-dom)

标签 reactjs react-router-dom

const Main = () => (
  <div>
    <Header />
    <StyledMain>
      <Header />
      <Switch>
        <Route exact path="/" component={Splash} render={()=>{alert('dd"')}}/>
        <Route path="/files" component={Files} />
        <Route path="/archived" component={Archived} />
        <Route path="/extract/:filename" component={Extract} />
        <Route path="/docs/api" component={Docs} />
      </Switch>
    </StyledMain>
  </div>
)

在我的 main.js 中,每当我进入主路由时,我都会尝试触发警报 ('/') .但是,这不起作用。

我也试过 onEnter ,但意识到这是旧版本。

这是正确的用法吗?

最佳答案

您可以按照@Tholle 在评论中的建议,在 Splash 组件中放置警报。但与 render您可以在不使用组件的情况下执行此操作:

const Main = () => (
  <div>
    <Header />
    <StyledMain>
      <Header />
      <Switch>
        <Route exact path="/" render={() => {
                alert('dd"');
                return <Splash />;
            }
        }/>
        <Route path="/files" component={Files} />
        <Route path="/archived" component={Archived} />
        <Route path="/extract/:filename" component={Extract} />
        <Route path="/docs/api" component={Docs} />
      </Switch>
    </StyledMain>
  </div>
)

关于reactjs - 进入路由时触发功能(react-router-dom),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51426737/

相关文章:

Javalin sessionAttribute() 在请求之间不持久

javascript - 为什么在使用解析的字符串时出现错误 'Cannot read property ' name' of null'?

javascript - 使用 React 为每个对象创建一个模态弹出窗口

reactjs - 删除事件监听器手动 react 钩子(Hook)

javascript - React 多页面路由

reactjs - NavLink onActive 回调

reactjs - react : How to Animate Expanding and Collapsing Div When the Size of the Content is Not Knowable

reactjs - Jest/Enzyme 测试中的 setTimeout

reactjs - 如何根据当前 url 使 antd 侧边栏菜单项处于事件状态?

javascript - 如何避免重定向两次(react-router-redux)?