我正在尝试在componentWillUnmount上运行一个方法(我正在使用下一个js框架)。问题是componentWillUnmount方法不会触发。但是componentDidMount工作正常。
string str = "2323dfdf233fgfgfg ddfdf334";
var strings = new List<string>();
var sb = new StringBuilder();
var lastCharIsNumber = char.IsDigit(str[0]);
foreach (var c in str) {
if (char.IsDigit(c) ) {
if (!lastCharIsNumber) {
strings.Add(sb.ToString());
sb.Clear();
}
lastCharIsNumber = true;
}
else {
if (lastCharIsNumber) {
strings.Add(sb.ToString());
sb.Clear();
}
lastCharIsNumber = false;
}
sb.Append(c);
}
strings.Add(sb.ToString());
strings.Dump();
这是我的页面代码。当您离开页面时,我希望componentWillUnmount触发。我已在此处发出警报以进行测试。
答案 0 :(得分:0)
这是Nextjs路由的预期行为和预期行为。有关更多信息,您可以检查以下问题:https://github.com/zeit/next.js/issues/2819。
当您转到另一页时,不会发生组件卸载,而是呈现了一个全新的页面。
这与您刷新(或首次登陆)页面时的行为相同。当您在页面上点击unmount
时,React组件将不会F5
,因为它没有卸载,因此页面只是在刷新。