繁体   English   中英

React.js中的初始化器?

[英]Initializers in React.js?

我在使用react 0.13.1 react-railsbrowserify-railsrails 4.2.1应用程序中使用react 0.13.1 我不是在做单页应用程序,而是在渲染页面上添加react组件并使用rails路由系统。

当我加载页面时,我想初始化一些东西,但我不确定这段代码应该去哪里。 react是否有一个初始化函数,它总是在渲染组件之前调用,或者它是否总是先渲染第一个组件,这样我才能将初始化代码添加到第一个组件?

我如何将react初始化程序代码放在我的多页面rails应用程序中? (应该适用于客户端或服务器呈现的react代码)

注意:假设只有react和普通的javascript被使用。

编辑:不询问有关每个组件的初始化,而是在页面加载后初始化代码,但在反应开始通过并呈现任何组件之前。

初始化React的入口点是对React.render()的调用,因此您应该在该调用之前执行任何初始化。 如果初始化是异步的,只需在回调中调用React.render()

并且每个组件上还有componentWillMount方法,可用于特定于组件的初始化。

是的,它在React的文档中都有。 每个组件都有一个getInitialState,在首次请求对象时调用,然后在卸载组件时有oncompentdidmount和另一个组件。 它是所有JavaScript代码,因此初始化代码可以在每个组件内部完成,或者只是在执行React代码之前或之后全局声明。

我和Django有类似的设置,我使用Django的优势。 路由,会话,身份验证,Rest API等......让Django渲染一个加载React UI的条形骨骼模板。 这个过程看起来效果非常好,它从以前的位置大大加快了我的网站,并且UI非常棒。

所以在我的django应用程序的一个特例中,我需要在React组件尝试渲染自己之前初始化某些数据。 因此,我将初始化代码包装到一个在页面加载时调用的函数中,然后在该函数完成后作为回调我调用另一个实际上将我的反应组件添加到页面的函数。 从那里开始,每个组件都有自己的初始化,你说你现在对它不感兴趣,但这就是我处理这种情况的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM