【问题标题】:Debug where in render react-native IOS is crashing调试渲染 react-native IOS 崩溃的地方
【发布时间】:2015-05-18 14:48:59
【问题描述】:

当我调用 this.setState 时,会调用 render() 函数。

如果渲染函数有问题,this.seState 永远不会完成。如何找出 render() 中的错误在哪里?

我做一个

console.log('before set state');
this.setState({isLoaded:true});
console.log('after set state');

我看到第一个控制台提到被打印,但不是最后一个。但是,在 iOS 模拟器中没有警告或错误或任何东西。我可以通过从 render() 一次删除一行并查看它何时停止崩溃来找到错误 - 但必须有更好的方法来调试它。

有什么想法吗?

【问题讨论】:

  • setState 应该异步工作,即它不直接调用render()

标签: iphone xcode react-native


【解决方案1】:

setState 本身需要渲染

来自文档 (https://facebook.github.io/react/docs/component-api.html):

setState() 将始终触发重新渲染,除非有条件 渲染逻辑在 shouldComponentUpdate() 中实现

【讨论】:

    猜你喜欢
    • 2022-01-11
    • 2019-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 2023-03-07
    • 1970-01-01
    • 2019-08-02
    相关资源
    最近更新 更多