当前位置: 首页 > 面试题库 >

反应componentDidMount不触发

郑富
2023-03-14
问题内容

我建立了一个新的react项目,由于某种原因,该componentDidMount方法没有被调用。

我已经通过调用console.login 验证了此行为,componentDidMount但是在控制台中看不到它的输出。

此外,this.setState()无法正常工作。

关于为什么componentDidMount不调用,我感到很困惑。我尝试同时使用React“ v0.14.0”和“ v0.14.3”。

为什么不调用“ componentDidMount”?

码:

var React = require('react');

var RecipePage = React.createClass({
  componentDidMount: function() {
    console.log('mounted!');
  },
  render: function() {
    return (
      <div>Random Page</div>
    );
  }
});

module.exports = RecipePage;

问题答案:

所以…瞧瞧......我终于开始工作了(在后端专家的帮助下)。之所以未触发“ componentDidMount”方法,是因为
我的服务器正在捆绑并在服务器端提供所有的react + html服务 。(只有调用“ render”和“
getInitialState”方法才能创建“ html”模板,该模板通过客户端的浏览器传递…但是它停在那里,因为它认为已经完成了)

解决方法: 找到一种通过服务器交付生成的“已编译” html的方法,此外,还 可以在客户端再次访问和“触发” react自己的事件
。当编译我的“ view”文件(index.js或index.html)时,我包括了一个“
Application.start()”脚本,该脚本将我的bundle.js代码再次注入模板中。然后在我的gulpfile中,导出“
Application”变量,以便“ view”文件可以访问它。

Gahh …为此拉了我的头发。是时候阅读 服务器端和客户端渲染了



 类似资料:
  • 问题内容: 这是我在React中经常遇到的问题。保证在首次渲染组件时会触发该方法,因此似乎很自然地进行高度和偏移之类的DOM测量。但是,在组件生命周期的这一点上,很多时候我收到错误的样式读数。该组件 是 在DOM,当我与调试器打破,但它尚未在屏幕上绘制。我将宽度/高度大部分设置为100%的元素遇到了这个问题。当我进行测量时-一切正常,但是此方法在组件的初始渲染时不会触发。 所以我的问题是-何时确切

  • 问题内容: 我目前有一个简单的react应用程序,无法获得这些onchange事件来激发我的生命。 有趣的是,当我使用时,会触发事件,但函数中的ev变量不正确。 问题答案: 尝试: 要么: 代替:

  • 编辑:可在此处找到项目回购的链接。 当我的个人资料页面加载到React应用程序时,我正在尝试获取数据。我的客户端运行在localhost:3000上,服务器运行在localhost:5000上。 我还有一个代理在我的客户端文件夹的package.json指向localhost:5000(假设)。在我的服务器文件中,我也有cors,以及我过去使用过的所有常用的铃铛和哨子。 每当我的组件挂载时,在我的

  • 我正在构建一个react native应用程序,我发现react native中的可触摸视图没有响应。当我按下按钮时,需要一些时间才能看到结果。 当我谷歌搜索解决方案时,我发现 https://facebook.github.io/react-native/docs/performance.html 解决方案是包装中。当我喜欢链接所说的内容时,它会向我显示错误“不是一个函数” 有在reactnat

  • 我在react-redux项目中使用react-router-dom 5.1.2。对于我的路由,我有两个文件。第一个是App.js,其中包含redux存储和BrowserRout的提供程序: 在下一层,我有Main.js,它有到所有组件的路径 我遇到的问题是,当我使用path=“/games/:game_id/fighters/new”进入路线时,而不是显示FighterForm。js,它会重定向

  • 我的导航不工作,因为某些原因,我有另一个应用程序运行良好,但这一个不能找到错误,请帮助 反应路由器不工作。反应JS 我需要你的帮助。 使用react-router,我可以使用Link元素创建由react router本地处理的链接。