朋友您好!
因此,React的开发人员决定使我们的工作更加线性,也就是说,可以说,我们忽略了犯错误和编写错误代码的机会最小的途径,我认为这是我们不可剥夺的权利,也是改进和发明的一种方式。 我们正在谈论componentWillReceiveProps的所有喜欢的方法以及同一系列中的其他方法,这里不会再有其他方法了,但是将以静态方法getDerivedStateFromProps的形式给出替代方法。 就个人而言,这让我想起了东西所在的黑暗房间,需要找到它们,但看不到任何东西。
开发人员在对React用户的愤怒评论的回应中写道:好吧,我们不会给您prevProps,这是不可能的,请您想一想,prevProps不会,您会呆在那儿,只是将它们缓存在一个状态中,总的来说,他们建议我们用小拐杖新的好代码。 当然,这一切都很简单,您可以理解和原谅,但令我感到烦恼的是,现在我没有这种背景,我的房间被砖砌起来,看不到任何东西,甚至邻居都听不到,所以我决定为自己写点东西,它会隐藏所有拐杖,我的代码看起来很奇怪,但是没有骨头(和没有骨头?)。
总的来说,我需要在组件的状态下实现prevProps,我也希望一切看起来都像往常一样,而且在静态getDerivedStateFromProps中没有神奇的东西也无法生存(这是一个傻瓜!)。 经过两天的折磨和自我完善,一切准备就绪,我生了一只老鼠。
安装方式
npm install
使用方法
只需编写相同的getDerivedStateFromProps和componentDidUpdate,但已对其进行了修改。
我们将组件包装在“ withStateMaster”中,并在其中传递您需要跟踪其更改的“道具”列表
import {Component} from 'react' import {withStateMaster, registerContext, unregisterContext} from 'state-master';
如果组件是从另一个组件继承的,则传递父组件,以便调用父组件的getDerivedStateFromProps
export const Container = withStateMaster(ContainerComponent, PROP_LIST, null, ParentalComponent);
这是我对这个问题的解决方案(尽管也许我对反应没有足够的了解,但这根本不是问题)。
因此,我抵制了React的新规范,也许有一天我会谦卑自己,重写一切。
尽管开发人员可能会再次重做所有操作,但还会出现其他紧迫的问题。
就是这样,我躺下了,但他们并没有像他们所说的那样打败卧床不起的人。