使用reactjs和Material UI单击按钮时更改内容

写作开发人员

该网站正在使用Reactjs和Material UI开发。

每次更改地址时,将使用switch语句输出不同的组件。并且应该使用“链接到”将按钮移动到URL。

但是我不明白,当我按下按钮时,它不会更改为该组件,但是当我按下“抽屉”按钮时,它将更改为该组件。

我想知道问题是什么。我认为问题出在以上三个部分。但是完整的工作代码也在此处,其中包含CodeSandbox CodeSandbox URL

[switch语句的一部分]

let contentPlace;
let changePage = () =>{
  let location = window.location.pathname;
  console.log(location);
  switch(location){
    case '/':{
      contentPlace=<Home />
      break;
    }
    case '/login':{
      contentPlace=<SignIn/>
      break;
    }
  }
}  

[按钮的一部分]

<Button variant="outlined" color="inherit" onClick={changePage()}>
  Login
</Button>
</Link>
<Link to="/" className="home">
<Button variant="outlined" color="inherit"  onClick={changePage()}>
  HomE
</Button>

[带有React-dom-Router的交换机的一部分]

<Switch>
  <Route path="/login">
    {/* <SignIn /> */}
  </Route>
  <Route path="/about">
    {/* <About /> */}
  </Route>
  <Route path="/users">
    {/* <Users /> */}
  </Route>
  <Route path="/">
  </Route>
    {/* <Home /> */}
</Switch>

它是这样工作的。 在此处输入图片说明

dev_junwen

我不太确定为什么您需要一个开关盒。但是您可以看一下这个简单的例子。你不需要来包装你Button有一个Link,而不是你可以利用component道具Button,以防止不必要的包装为组件。

const SignIn = () => (
  <div>
    This is sign in page.
    <Button component={Link} to="/home">
      To Home Page
    </Button>
  </div>
)

const Home = () => (
  <div>
    This is home page.
    <Button component={Link} to="/login">
      To Login Page
    </Button>
  </div>
)

const App = () => {
  return (
    <BrowserRouter>
      <Switch>
        <Route path="/login">
          <SignIn />
        </Route>
        <Route path="/">
          <Home />
        </Route>
      </Switch>
    </BrowserRouter>
  )
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在单击按钮时使用模板更改div的内容?

来自分类Dev

当文本更改为其他内容时,如何使用Selenium和Python单击按钮?

来自分类Dev

单击按钮时更改reactjs中的组件

来自分类Dev

Reactjs:单击时如何更改按钮样式

来自分类Dev

使用Bootstrap按钮单击和jQuery更改iframe内容

来自分类Dev

单击时更改按钮文本和功能?

来自分类Dev

单击时,我的单选按钮不会更改为已选中。我正在尝试使用它来更改显示的内容

来自分类Dev

单击时如何更改文本和按钮图像(或按钮)

来自分类Dev

单击ReactJS更改按钮

来自分类Dev

jQuery文本区域调整大小无法与单选按钮单击时的jQuery div内容更改结合使用

来自分类Dev

如何使用if语句更改按钮单击上的段落内容?

来自分类Dev

ReactJS:如何在按钮单击时更改文本值

来自分类Dev

Reactjs 和 Material UI 上的悬停功能

来自分类Dev

使用 jquery 在按钮单击时复制表或 div 内容

来自分类Dev

如何在单击时更改Material UI导入的图标

来自分类Dev

Material UI 中的嵌套按钮:如何在单击子按钮时禁用容器按钮的波纹效果?

来自分类Dev

单击按钮时,如何使用useRef挂钩专注于Material UI TextField?

来自分类Dev

单击时使用多种颜色更改单选按钮的颜色

来自分类Dev

使用引导程序单击时如何更改按钮的颜色?

来自分类Dev

使用jQuery单击删除按钮时更改行背景颜色

来自分类Dev

每次单击按钮时使用JS更改图像

来自分类Dev

使用jQuery更改按钮单击时的表单动作和动词

来自分类Dev

如何使用jquery更改单击时输入按钮的文本?

来自分类Dev

单击时使用多种颜色更改单选按钮的颜色

来自分类Dev

使用jquery单击按钮时如何更改文本颜色?

来自分类Dev

React-Material-UI单选按钮组在单击时不会填充按钮

来自分类Dev

每次单击按钮时如何更改内容?

来自分类Dev

使用angular.js和ui.bootstrap时,模式内部的按钮单击事件不触发

来自分类Dev

如何使用云代码和Shashido更改单击按钮时的解析角色数组?

Related 相关文章

  1. 1

    如何在单击按钮时使用模板更改div的内容?

  2. 2

    当文本更改为其他内容时,如何使用Selenium和Python单击按钮?

  3. 3

    单击按钮时更改reactjs中的组件

  4. 4

    Reactjs:单击时如何更改按钮样式

  5. 5

    使用Bootstrap按钮单击和jQuery更改iframe内容

  6. 6

    单击时更改按钮文本和功能?

  7. 7

    单击时,我的单选按钮不会更改为已选中。我正在尝试使用它来更改显示的内容

  8. 8

    单击时如何更改文本和按钮图像(或按钮)

  9. 9

    单击ReactJS更改按钮

  10. 10

    jQuery文本区域调整大小无法与单选按钮单击时的jQuery div内容更改结合使用

  11. 11

    如何使用if语句更改按钮单击上的段落内容?

  12. 12

    ReactJS:如何在按钮单击时更改文本值

  13. 13

    Reactjs 和 Material UI 上的悬停功能

  14. 14

    使用 jquery 在按钮单击时复制表或 div 内容

  15. 15

    如何在单击时更改Material UI导入的图标

  16. 16

    Material UI 中的嵌套按钮:如何在单击子按钮时禁用容器按钮的波纹效果?

  17. 17

    单击按钮时,如何使用useRef挂钩专注于Material UI TextField?

  18. 18

    单击时使用多种颜色更改单选按钮的颜色

  19. 19

    使用引导程序单击时如何更改按钮的颜色?

  20. 20

    使用jQuery单击删除按钮时更改行背景颜色

  21. 21

    每次单击按钮时使用JS更改图像

  22. 22

    使用jQuery更改按钮单击时的表单动作和动词

  23. 23

    如何使用jquery更改单击时输入按钮的文本?

  24. 24

    单击时使用多种颜色更改单选按钮的颜色

  25. 25

    使用jquery单击按钮时如何更改文本颜色?

  26. 26

    React-Material-UI单选按钮组在单击时不会填充按钮

  27. 27

    每次单击按钮时如何更改内容?

  28. 28

    使用angular.js和ui.bootstrap时,模式内部的按钮单击事件不触发

  29. 29

    如何使用云代码和Shashido更改单击按钮时的解析角色数组?

热门标签

归档