在下一个js的上下文中使用componentWillUnmount

时间:2018-07-31 13:44:08

标签: reactjs next.js

我正在尝试在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触发。我已在此处发出警报以进行测试。

1 个答案:

答案 0 :(得分:0)

这是Nextjs路由的预期行为和预期行为。有关更多信息,您可以检查以下问题:https://github.com/zeit/next.js/issues/2819

当您转到另一页时,不会发生组件卸载,而是呈现了一个全新的页面。

这与您刷新(或首次登陆)页面时的行为相同。当您在页面上点击unmount时,React组件将不会F5,因为它没有卸载,因此页面只是在刷新。