如何将道具从功能组件传递到类组件

奥拉瓦莱·奥拉迪兰(Olawale Oladiran)

我对功能组件还很陌生,已经研究了几个小时。我只是想将道具从父功能组件传递到类子组件,以便我将使用更新的道具(将是布尔值)来更改元素的显示。就这样。

在这种情况下,我想根据道具将sidenav从打开切换为关闭。

这是父组件(功能性):

   let opened = false;

   function openSidenav(){
       opened = !opened;
   }
   const [sidebarOpened, setOpened ] = useState(opened);

   return (
       <Sidebar sidebarOpened={opened} />
   )

和子组件(类):

   componentDidUpdate(prevProps) {
      if(this.props.sidebarOpened !== prevProps){
         this.setState({ sidebar: true});
      }
   }

只是不起作用,子组件没有收到更改,我想我没有正确通过道具。我知道代码只需要更正,但是我不知道我在哪里没有得到它。

谢谢。

dh

useState的参数仅使用一次。您需要在openSidenav功能中设置状态以触​​发重新渲染。

父母


   function openSidenav(){
       setOpened(prev => !prev);
   }
   const [sidebarOpened, setOpened ] = useState(false);

   return (
       <Sidebar sidebarOpened={sidebarOpened} />
   )

同样在子组件中,使用prevProps.sidebarOpened(而不仅仅是prevProps)。

儿童

componentDidUpdate(prevProps) {
      if(this.props.sidebarOpened !== prevProps.sidebarOpened){ //<---- see here
         this.setState({ sidebar: this.props.sidebarOpened});//<---- see here
      }
   }

ps-另外,由于您直接在子组件中使用道具,因此可以考虑不要将道具复制到状态中。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将数据从功能组件传递到类组件

来自分类Dev

如何将值从子功能组件传递到父类组件?

来自分类Dev

如何将道具传递到组件中?

来自分类Dev

如何将值从组件传递到道具并设置状态

来自分类Dev

如何将道具从子组件传递到父组件的父组件?

来自分类Dev

如何将状态从 redux 传递到基于类的组件?

来自分类Dev

如何将功能传递给组件?

来自分类Dev

榆木/将道具传递到组件的功能方式

来自分类Dev

如何将道具传递给作为值传递的组件

来自分类Dev

如何将组件的功能传递给NavigationOptions内部的组件

来自分类Dev

如何将道具(状态和功能)传递给子路由器组件

来自分类Dev

如何将useState挂钩传递给功能组件中的子道具

来自分类Dev

如何将功能组件转换为类组件?

来自分类Dev

如何将类组件转换为功能组件

来自分类Dev

如何将道具导入到组件中正在渲染的功能中

来自分类Dev

如何将道具向下传递到具有相同键和值的React组件

来自分类Dev

如何将动态数据从刀片文件作为道具传递到vue组件?

来自分类Dev

如何将值从子组件传递到父组件

来自分类Dev

如何将状态从子组件传递到父组件?

来自分类Dev

如何使用Link(react-router)将道具从一页传递到类组件

来自分类Dev

反应:如何将作为道具的功能从功能父组件传递给子组件

来自分类Dev

反应:如何将道具传递给状态组件?

来自分类Dev

如何将道具传递给子React组件?

来自分类Dev

React - 如何将道具传递给孙子组件?

来自分类Dev

将react道具传递到组件并显示

来自分类Dev

如何将React表单状态从应用程序传递到多个组件(功能)

来自分类Dev

无法将道具从父组件传递到子组件

来自分类Dev

如何将属性传递给无状态/功能组件?

来自分类Dev

组件如何将道具传递给另一个组件?

Related 相关文章

  1. 1

    如何将数据从功能组件传递到类组件

  2. 2

    如何将值从子功能组件传递到父类组件?

  3. 3

    如何将道具传递到组件中?

  4. 4

    如何将值从组件传递到道具并设置状态

  5. 5

    如何将道具从子组件传递到父组件的父组件?

  6. 6

    如何将状态从 redux 传递到基于类的组件?

  7. 7

    如何将功能传递给组件?

  8. 8

    榆木/将道具传递到组件的功能方式

  9. 9

    如何将道具传递给作为值传递的组件

  10. 10

    如何将组件的功能传递给NavigationOptions内部的组件

  11. 11

    如何将道具(状态和功能)传递给子路由器组件

  12. 12

    如何将useState挂钩传递给功能组件中的子道具

  13. 13

    如何将功能组件转换为类组件?

  14. 14

    如何将类组件转换为功能组件

  15. 15

    如何将道具导入到组件中正在渲染的功能中

  16. 16

    如何将道具向下传递到具有相同键和值的React组件

  17. 17

    如何将动态数据从刀片文件作为道具传递到vue组件?

  18. 18

    如何将值从子组件传递到父组件

  19. 19

    如何将状态从子组件传递到父组件?

  20. 20

    如何使用Link(react-router)将道具从一页传递到类组件

  21. 21

    反应:如何将作为道具的功能从功能父组件传递给子组件

  22. 22

    反应:如何将道具传递给状态组件?

  23. 23

    如何将道具传递给子React组件?

  24. 24

    React - 如何将道具传递给孙子组件?

  25. 25

    将react道具传递到组件并显示

  26. 26

    如何将React表单状态从应用程序传递到多个组件(功能)

  27. 27

    无法将道具从父组件传递到子组件

  28. 28

    如何将属性传递给无状态/功能组件?

  29. 29

    组件如何将道具传递给另一个组件?

热门标签

归档