当前位置: 首页 > 知识库问答 >
问题:

Async React.Component对我不起作用

谷梁存
2023-03-14

我想将我的React应用程序按块拆分,但遇到了一个问题。React.Component不呈现通过Require.Consure加载的子React.Component。下面的示例代码。
文件一:

let Child;
class Parent extends React.Component {
  constructor() {
      super();
      require.ensure(['child'], () => {
        Child = require('child');
      });
  }
  render() {
    return (
      <div>
        {!!Child && <Child/>}
      </div>
    );
  }
}

文件二

class Child extends React.Component {
  render() {
    return <div>hello world</div>;
  }
}

module.exports = Child;

然后检索下一个错误:

未捕获的错误:缩小的React错误#130;访问http://facebook.github.io/react/docs/error-decoder.html?invariant=130&args[]=未定义&args[]=获取完整消息,或使用非缩小的开发环境获取完整错误和其他有用警告。

谁能告诉我我做错了什么?

共有1个答案

宰宣
2023-03-14

>

  • 我建议您在加载依赖项时提供某种形式的内容来进行反应。我会推荐某种装入消息。

    您需要确保在加载完成时重新发送组件。实现这一点的最简单方法是将require调用的结果存储在组件状态中,而不是全局状态中。

    例如,您的代码可能如下所示:

    class Parent extends React.Component {
      constructor() {
          super();
          require.ensure(['child'], () => {
            this.setState({Child: require('child')});
          });
      }
      render() {
        return (
          <div>
            {'Child' in this.state ? <this.state.Child/> : "Loading..."}
          </div>
        );
      }
    }
    

  •  类似资料:
    • 问题内容: 我试图从Android手机上按本机后退按钮时取消CountDownTimer。因此,我想覆盖onBackPressed方法,以取消计时器并返回到另一个活动,但只能执行一次。(返回主活动,如主页按钮)。 这是代码的一部分: 问题答案: onBackPressed应该在主活动类中 还尝试在应用的清单文件中指定父项和子项活动,例如 并尝试使用类似的东西并重建您的应用程序 如果仍然无法正常运行

    • 问题内容: 我试图用例如值替换指定的模式 这将返回找到模式的行。例如,这是得到的测试返回值之一 这是$$ test $$ 我遇到的问题是当我执行以下操作时 没发生什么事。我想念什么?有关更多信息, 所以我想做的就是每当遇到“ $$ test $$”时,它将用“替换”替换它。我没有发现“ $$ test $$”的问题,但是由于某种原因没有取代它。 问题答案: 您 正在 将back的结果分配给变量,对

    • 我需要父键和它的子键来表示RecycerView中的纬度和经度列表。我想我需要对中的中的做一些事情,但是不管做什么,我都做不对。 我目前循环所有的父键和它的子键作为它的许多父键,并将它添加到列表中... JSON结构: 纬度和经度POJO。 我的活动 致命异常:main process:com.example.rasmusjosefsson.rjcar,pid:19134 com.firebase

    • 问题内容: 我在这里有点困惑。如果我将变量传递给json_decode,它将不起作用: 第一个回显正确显示了我传递的JSON字符串,例如 第二个回显显示NULL。因此,我从第一个回显中获取了字符串,并编写了以下代码: 你怎么说,它向我展示了正确解码的数组。字符串绝对相同,我什至保留转义字符。也许是问题所在? 问题答案: 看起来您的服务器已启用。无论是将其禁用或运行通过使用它之前。

    • 问题内容: 我已经看过xpath教程并检查了许多其他帖子,因此我不确定自己缺少什么。我只是想通过xpath查找以下元素: 我已经尝试了很多事情,例如: 错误是。 我在MacBook上使用Firefox 任何建议将不胜感激。 问题答案: (*)-任何标记名

    • 在我活动页面之一的片段中,我希望从用户处获得权限,并在授予权限后执行一些操作,但不起作用,且在授予权限后看不到任何日志