当前位置: 首页 > 知识库问答 >
问题:

reactjs中render和类中的函数

厍华清
2023-03-14

我正在努力学习reactjs,我有一些不确定性。我参考了react文档和一些其他教程,我看到函数是在渲染函数和类中编写的。我们应该在React的render函数中做什么?

第1路

class App extends Component {

    test(user) {

        return user.firstName;
    }

    render() {

        const user = {
            firstName: 'Harper',
            lastName: 'Perez'
        };

        return (

            <div>

                <h1>{this.test(user)}</h1>

            </div>
        )
    }
}

第二路

class App extends Component {

       render() {

        const user = {
            firstName: 'Harper',
            lastName: 'Perez'
        };

        function test(user) {

            return user.firstName;
        }

        return (

            <div>

                <h1>{test(user)}</h1>

            </div>

        )

    }
}

谢了。

共有1个答案

孔运珧
2023-03-14

render方法通常会被调用很多次。我认为如果可以的话,在render方法之外声明函数会更好。有关render方法的更详细说明,请参见此答案。

示例中的测试函数是一个纯函数,这允许您在react组件的范围/上下文之外声明它,因为它只需要访问传入的参数。

也就是说,在render方法中声明函数或者现在更常见的是在函数组件中声明函数是完全可以的。有一些钩子,比如useCallback,可以帮助提高性能,但99%的情况下,这不是一个问题。永远记住,过早的性能优化是万恶之源,在改进性能之前,您需要测量性能。

// helpers.js
const test = function(user) {
    return user.firstName;
}

// App.js
const App = () => {
  const user = {
    firstName: 'Harper',
    lastName: 'Perez'
  }

  return (
    <div>
      <h1>hello {test(user)}</h1>
    </div>
  )
}
 类似资料:
  • 问题内容: 我正在尝试学习reactjs并且有一些不确定性。我指的是react DOCS和其他一些教程,我看到函数是在render函数和类内部编写的。我们应该在render函数内部做些什么反应? 第一种方式 第二路 这两种方法都有效。但是我想知道什么是最好的方法吗?最重要的是,我想知道我可以在render函数中做什么事情。 谢谢。 问题答案: 我认为这最终是您的选择,但我个人更喜欢仅将功能放在re

  • 问题内容: 是否有将功能放置在react组件中的偏好?我仍在学习反应,因此只想找出最佳做法。 问题答案: 每次渲染都会在render方法中创建一个函数,这会对性能造成轻微的影响。如果将它们放入渲染中也很麻烦,这是一个更大的原因,您不必滚动渲染中的代码即可查看html输出。始终将它们放在课堂上。 对于无状态组件,最好将函数保留在main函数之外,而传递props,否则该函数也会在每个渲染器中创建。我

  • 我刚刚开始学习React和JavaScript。在我阅读了留档和教程之后,我看了一下示例项目,并试图整理我还没有得到的内容。 然后我看到有一些函数是在函数内部定义的,还有一些函数是在函数外部定义的。 例如,在之外: 和内部render()。。。 为什么它们看起来如此不同,为什么你想在内部和外部有一些函数? 编辑: 之外的函数的另一个示例: EDIT2:在另一个线程中,有人回答说,如果函数背后的逻辑

  • 基础 Vue 推荐使用在绝大多数情况下使用 template 来创建你的 HTML。然而在一些场景中,你真的需要 JavaScript 的完全编程的能力,这就是 render 函数,它比 template 更接近编译器。 <h1> <a name="hello-world" href="#hello-world"> Hello world! </a> </h1> 在 HTML 层

  • 本文向大家介绍Yii中render和renderPartial的区别,包括了Yii中render和renderPartial的区别的使用技巧和注意事项,需要的朋友参考一下 以下由我们在信易网络公司开发项目的时候终结出的一些经验 在进行页面输出渲染的时候。 1.render 输出父模板的内容,将渲染的内容,嵌入父模板。| 2.renderPartial 则不输出父模板的内容。只对本次渲染的局部内容,

  • 我试图从按钮类中的道具集中提取数字的值。然后在发现函数中呈现这个值。类正确显示了Number的值。但是,该函数不显示数字的任何值。 为了让它发挥作用,我已经花了一段时间来处理这个问题。但是我找不到任何解决我问题的办法。 没有错误消息。显示的预期结果:https://i.imgur.com/fr61SE0.png 实际显示结果:https://i.imgur.com/MRE0Lsj.png