如何正确更新子组件 React.js

康纳

我对 ReactJS 比较陌生,我正在努力使自己符合它的编程风格!这是一个挑战,但绝对有趣!

我正在制作各种管理控制台。在侧边菜单上有两个页面可以浏览,我想知道我是否以“React”方式处理这个问题。

控制台页面图片

为简单起见,这里是显示正确内容页面的相关伪代码。

export class Console extends React.Component {
   render() {
      return (
         < ... Sidemenu Content ... />
         <ContentWrapper >
            {this.getContent()}
         </ContentWrapper
      );
}

我正在调用一个函数this.getContent()该函数根据控制台的状态返回一个放置在“ContentWrapper”中的组件。

  1. 这是处理组件的“正确”或至少是“好”的方式吗?

  2. 孩子的大小取决于控制台中的状态。每次调整窗口大小时,此状态都会更改,并且大小作为 prop 传入this.getContent(). 调用this.getContent()效率低吗?是否每次都重新渲染一个新的子组件,而不是更新已经存在的子组件?

编辑

  // Based on the key, returns the content to display to the user.
  getContent(key) {
    var newContent = null;
    switch (key) {
      case Sidemenu.map:
        newContent = <p>"Map"</p>
        break;
      case Sidemenu.team:
        newContent = <TeamManager size={this.state.contentHeight - 48}/>
        break;
      default:
        break;
    }
    return newContent;
  }

对不起,如果我的问题令人费解,我正在尽力使用 ReactJS 行话!

谢谢!

康纳

佩德罗米勒

我建议做一个条件渲染,它更干净,它可能是这样的:

 <ContentWrapper>
 { 
  this.state.Sidemenu.map? <p>Map</p>:
  <TeamManager size={this.state.contentHeight - 48}/>
 }
 </ContentWrapper

** 我假设 Sidemenu 是您所在州的一部分,并且不为 null 或未定义

对于这种情况,您可以在这种情况下使用内联“if”渲染您想要的任何内容

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React.js:更新动态子组件如何工作?

来自分类Dev

React.js:更新动态子组件如何工作?

来自分类Dev

如何递归地渲染react.js中的子组件

来自分类Dev

子组件在React + Flux架构中无法正确更新

来自分类Dev

在React JS中,如何告诉父组件在子组件中发生了某些事情?

来自分类Dev

React js更改状态不会更新组件

来自分类Dev

更新状态的正确位置-React JS

来自分类Dev

react js无法更新子级的道具

来自分类Dev

React.js 将组件插入子组件

来自分类Dev

如何强制更新React.memo子组件?

来自分类Dev

React.js:更新后的子级输入defaultValue在HTML中正确,但在页面上无法正确显示

来自分类Dev

React JS如何使组件不受CSS的影响?

来自分类Dev

如何控制多个React js组件?

来自分类Dev

我如何访问组件字段-React JS

来自分类Dev

React.js如何重新渲染组件?

来自分类Dev

如何在React.js中循环遍历对象并创建子组件

来自分类Dev

React.js如何将回调传递给子组件?

来自分类常见问题

React.js-如何将属性对象传递给子组件?

来自分类Dev

如何在React.js中执行子组件验证而没有无限循环

来自分类Dev

如何在react.js的父组件中检测子渲染

来自分类Dev

在使用useReducer时如何在React js中进行优化,循环传递给子组件的状态

来自分类Dev

当react js中的任何状态发生变化时,如何停止重新渲染子组件?

来自分类Dev

React js 状态更新

来自分类Dev

如何在React JS中更新功能组件setState中整数数组的特定索引

来自分类Dev

如何在React.js中从一个组件(子组件)到另一个组件(父组件)获取值?

来自分类Dev

分别渲染每个React.js子组件

来自分类Dev

[ React.js ]子组件道具不起作用

来自分类Dev

React.js如何在组件内部渲染组件?

来自分类Dev

React - 如何更新子组件的父组件 onclick 中的状态 - 我做错了什么?

Related 相关文章

  1. 1

    React.js:更新动态子组件如何工作?

  2. 2

    React.js:更新动态子组件如何工作?

  3. 3

    如何递归地渲染react.js中的子组件

  4. 4

    子组件在React + Flux架构中无法正确更新

  5. 5

    在React JS中,如何告诉父组件在子组件中发生了某些事情?

  6. 6

    React js更改状态不会更新组件

  7. 7

    更新状态的正确位置-React JS

  8. 8

    react js无法更新子级的道具

  9. 9

    React.js 将组件插入子组件

  10. 10

    如何强制更新React.memo子组件?

  11. 11

    React.js:更新后的子级输入defaultValue在HTML中正确,但在页面上无法正确显示

  12. 12

    React JS如何使组件不受CSS的影响?

  13. 13

    如何控制多个React js组件?

  14. 14

    我如何访问组件字段-React JS

  15. 15

    React.js如何重新渲染组件?

  16. 16

    如何在React.js中循环遍历对象并创建子组件

  17. 17

    React.js如何将回调传递给子组件?

  18. 18

    React.js-如何将属性对象传递给子组件?

  19. 19

    如何在React.js中执行子组件验证而没有无限循环

  20. 20

    如何在react.js的父组件中检测子渲染

  21. 21

    在使用useReducer时如何在React js中进行优化,循环传递给子组件的状态

  22. 22

    当react js中的任何状态发生变化时,如何停止重新渲染子组件?

  23. 23

    React js 状态更新

  24. 24

    如何在React JS中更新功能组件setState中整数数组的特定索引

  25. 25

    如何在React.js中从一个组件(子组件)到另一个组件(父组件)获取值?

  26. 26

    分别渲染每个React.js子组件

  27. 27

    [ React.js ]子组件道具不起作用

  28. 28

    React.js如何在组件内部渲染组件?

  29. 29

    React - 如何更新子组件的父组件 onclick 中的状态 - 我做错了什么?

热门标签

归档