据我所知,如果父母组成部分重新出现,那么除非他们实施,否则其所有子女都将会重新投降shouldComponentUpdate().我做了一个例子,这似乎不是真的.
我有3个部分组成:<DynamicParent/>,<StaticParent/>和<Child/>.该<Parent/>组件负责渲染<Child/>,但以不同的方式做到这一点.
<StaticParent/>渲染函数静态地声明<Child/>运行前,如下所示:
<StaticParent>
<Child />
</StaticParent>
Run Code Online (Sandbox Code Playgroud)
虽然<DynamicParent/>句柄<Child/>在运行时动态接收和呈现,如下所示:
<DynamicParent>
{ this.props.children }
</DynamicParent>
Run Code Online (Sandbox Code Playgroud)
两者都有<DynamicParent/>并且<StaticParent/>让onClick听众改变他们的状态并在点击时重新渲染.我注意到,点击<StaticParent/>它时都会<Child/>被重新渲染.但是当我点击时<DynamicParent/>,只有父和NOT <Child/>被重新渲染.
<Child/>是一个没有的功能组件,shouldComponentUpdate()所以我不明白它为什么不重新渲染.有人可以解释为什么会这样吗?我在与此用例相关的文档中找不到任何内容.
最常见的功能我记得需要的前缀是功能,如flexbox,border-radius,box-shadow,等...但现在他们的支持。随着越来越多的用户转向更强大的浏览器(如 Chrome 和 Firefox)并远离 IE,现在是否还有一些功能尚未得到完全支持并需要前缀?
如果我有两个传奇在等待yield take()同一个动作,是否有保证哪个传奇将首先接收动作并执行其剩余逻辑还是随机的?我需要确保第一个 saga 在第二个 saga 之前执行其逻辑。
function* rootSaga() {
yield [
saga1(),
saga2()
]
}
function* saga1() {
while (true) {
//Random logic
yield take("MY_ACTION")
//Finish executing logic
}
}
function* saga2() {
while (true) {
//Random logic
yield take("MY_ACTION")
//Finish executing logic
}
}
Run Code Online (Sandbox Code Playgroud) 我正在eclipse的一个项目上工作,一切都运行正常,但是当我第二天回来时,我收到了一个错误:resource is out of sync with the filesystem.我发现解决方案是刷新一切并解决了我的问题,但我很好奇资源如何首先失去同步,以及它甚至意味着资源与文件系统不同步.