小编fre*_*lop的帖子

功能组件渲染一次,类组件渲染两次

所以,我用 create-react-app 开始了这个新项目(它运行的是 react v.16.13.1)。我把基础App组件改写成一个类,发现当组件是函数的时候,像这样:

function App() {
  console.log('App (function)');
  return 'App (function)';
}
Run Code Online (Sandbox Code Playgroud)

浏览器控制台打印出来

App (function)
Run Code Online (Sandbox Code Playgroud)

万分感谢!但是如果同一个 App 组件写成

class App extends React.Component {
  render() {
    console.log('App (class)');
    return 'App (class)';
  }
}
Run Code Online (Sandbox Code Playgroud)

控制台写入

App (class)
App (class)
Run Code Online (Sandbox Code Playgroud)

javascript reactjs create-react-app

8
推荐指数
1
解决办法
1177
查看次数

git 覆盖分支但保留历史记录

我想用另一个开发分支(即 master)覆盖开发分支中的所有内容,但我不想错过开发分支上较旧的提交。

这就是我要的:

我想要的是

我尝试与我们的策略合并进行硬重置,但开发分支不断丢失旧的提交。

我想要获得的是蓝色和红色之间差异为零的提交,以及在蓝色与第一个黑色差异时删除的代码。


只是分享迄今为止尝试过的解决方案的概述。通过做这个:

git checkout master
git merge -s ours dev
git checkout dev
git merge master
Run Code Online (Sandbox Code Playgroud)

我得到了这个(开发人员从主人那里获取了所有历史记录)

合并

通过做这个

git checkout dev
git reset --hard master
Run Code Online (Sandbox Code Playgroud)

我得到了这个(如果我推动开发,我将丢失所有黑色提交):

重置

如果我这样做:

git checkout dev
git merge $(git commit-tree -p dev -m "Align master > dev" master^{tree})
Run Code Online (Sandbox Code Playgroud)

我得到了这个(几乎完美,但我很难回忆起我完成这个技巧的确切时刻):

在此输入图像描述

git

5
推荐指数
1
解决办法
1647
查看次数

标签 统计

create-react-app ×1

git ×1

javascript ×1

reactjs ×1