Reactjs 材质UI幻灯片组件-如何根据组件状态禁用幻灯片效果

Reactjs 材质UI幻灯片组件-如何根据组件状态禁用幻灯片效果,reactjs,material-ui,Reactjs,Material Ui,我有一个封装在幻灯片组件中的菜单。代码如下: return( <Slide direction="down" in={showNavState} > <AppBar position="absolute" className={classes.bgColor} > <Toolbar> <Button className={classes.saveDataButton} color="i

我有一个封装在幻灯片组件中的菜单。代码如下:

 return(


    <Slide direction="down" in={showNavState} >
      <AppBar position="absolute" className={classes.bgColor} >
        <Toolbar>
              <Button className={classes.saveDataButton} color="inherit">SAVE MY DATA</Button>
              <Button color="inherit" onClick ={redirectToClientsList}>My Clients</Button> 
              <Button color="inherit" onClick ={redirectToCalendar}>Calendar</Button>

        </Toolbar>
      </AppBar>

    </Slide>

)
返回(


另外,我想我可以用一个上下文实例来实现这一点,但这似乎有些过头了。

如果您想在
someState
的值的基础上显示幻灯片,有一种排序方法可以做到这一点,如:

render(){
  var appBar = (
    <AppBar position="absolute" className={classes.bgColor} >
      <Toolbar>
        <Button className={classes.saveDataButton} color="inherit">SAVE MY DATA</Button>
        <Button color="inherit" onClick ={redirectToClientsList}>My Clients</Button> 
        <Button color="inherit" onClick ={redirectToCalendar}>Calendar</Button>
      </Toolbar>
    </AppBar>
  )
  var withSlideBar = (
    <Slide direction="down" in={showNavState} >
      {appBar}    
    </Slide>
  )
  return (
    <div>{ someState ? withSlideBar : appBar }</div>
  )
}
render(){
var appBar=(
保存我的数据
我的客户
历法
)
带滑杆的var=(
{appBar}
)
返回(
{someState?带滑条:appBar}
)
}

如果您想在
someState
的值的基础上显示幻灯片,有一种排序方法可以这样做:

render(){
  var appBar = (
    <AppBar position="absolute" className={classes.bgColor} >
      <Toolbar>
        <Button className={classes.saveDataButton} color="inherit">SAVE MY DATA</Button>
        <Button color="inherit" onClick ={redirectToClientsList}>My Clients</Button> 
        <Button color="inherit" onClick ={redirectToCalendar}>Calendar</Button>
      </Toolbar>
    </AppBar>
  )
  var withSlideBar = (
    <Slide direction="down" in={showNavState} >
      {appBar}    
    </Slide>
  )
  return (
    <div>{ someState ? withSlideBar : appBar }</div>
  )
}
render(){
var appBar=(
保存我的数据
我的客户
历法
)
带滑杆的var=(
{appBar}
)
返回(
{someState?带滑条:appBar}
)
}

如果您能提供一个复制您的问题的方法,那将非常有帮助。我认为根本原因可能是您显示的代码之外的代码。动画应该只在
中的
属性值更改时出现。我必须在codesandbox中设置React router。即使我传入了一个TRUE from,我也会这么说路由器在加载幻灯片时仍然会“滑动”。@RyanCogswell现在开始:您的沙盒目前没有提供任何方法来重现问题-它没有提供任何方法来导航到其他页面(这种情况可能会触发不需要的幻灯片动画)@RyanCogswell我添加了一个点击链接。如果您能提供一个复制您的问题的链接,这将非常有用。我认为根本原因可能是您显示的代码之外的代码。动画应该只在
属性中的
值更改时出现。我必须在codesandbox中设置React路由器。我会说ev恩,当我从路由器传递一个真的幻灯片时……它仍然会在每次页面加载时“滑动”。@RyanCogswell你来了:你的沙盒目前没有提供任何方法来重现问题-它没有提供任何方法来导航到不同的页面(这种情况可能会触发不需要的幻灯片动画)@RyanCogswell我在上面的代码中添加了一个Click链接。这就是我在上面的代码中所做的。设置一个条件。这就是我在上面的代码中所做的。设置一个条件。
render(){
  var appBar = (
    <AppBar position="absolute" className={classes.bgColor} >
      <Toolbar>
        <Button className={classes.saveDataButton} color="inherit">SAVE MY DATA</Button>
        <Button color="inherit" onClick ={redirectToClientsList}>My Clients</Button> 
        <Button color="inherit" onClick ={redirectToCalendar}>Calendar</Button>
      </Toolbar>
    </AppBar>
  )
  var withSlideBar = (
    <Slide direction="down" in={showNavState} >
      {appBar}    
    </Slide>
  )
  return (
    <div>{ someState ? withSlideBar : appBar }</div>
  )
}