假设我有一个像这样的简单组件:

export default function Foo({someProp}) {
  const a = Math.random();

  return <div>{a}{someProp}</div>
}

据我所知,当someProp次更新时,React将触发重新渲染.它会再次执行整个Foo函数并重新分配const a一个新的随机值吗?该值是否会显示在<div>中?

推荐答案

你每个问题的答案都是yes.如您所说,当有props个更改时,以及当有state个更改时,会触发重新渲染.在重新渲染时,以及在第一次渲染时,所有的行为都与普通JavaScript函数中的行为类似,比如分配变量和其他所有内容,除了一些与React挂钩相关的内容,比如stateuseState组成,refuseRef组成...

Javascript相关问答推荐

一次仅播放一个音频

react 路由加载程序行为

单击更新页面的按钮后,页面刷新;测试/断言超时,有两个标题,但没有一个标题

从实时数据库(Firebase)上的子类别读取数据

jQuery提交按钮重新加载页面,即使在WordPress中使用preventDefault()

Rehype将hashtag呈现为URL

成功完成Reducers后不更新状态

Mongoose post hook在使用await保存时不返回Postman响应

变量的值在Reaction组件中的Try-Catch语句之外丢失

更改预请求脚本中重用的JSON主体变量- Postman

元素字符串长度html

为什么当我更新数据库时,我的所有组件都重新呈现?

expo 联系人:如果联系人的状态被拒绝,则请求访问联系人的权限

在D3条形图中对具有相同X值的多条记录进行分组

为列表中的项目设置动画

JAVASCRIPT SWITCH CASE语句:当表达式为';ALL';

通过解构/功能组件接收props-prop验证中缺少错误"

P5play SecurityError:无法从';窗口';读取命名属性';Add';:阻止具有源的帧访问跨源帧

MUI-TABLE:MUI表组件中交替行的不同 colored颜色 不起作用

从客户端更新MongoDB数据库