问题标签 [hydration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 为什么我无法使用 TWARC/hydrator 应用程序在 24000 个推文 ID 中重新水化超过 18 条推文?有人知道更好的方法吗?
我对推文文本的补水有疑问。任何帮助,将不胜感激。
这是我的数据来源;这是关于电晕推文的:
我已经从中下载了照片中的数据集(名为 01-feb-2020)
然后,我过滤这些数据以显示来自“GB”的唯一推文,几乎是 24000 条推文
我已经使用 twarc 来补充我的推文文本,如下所示:
首先,使用 pip 安装 twarc
然后,在命令行中输入:twarc configure
然后,消费者间密钥和秘密密钥
然后,写一个命令:
但是,我从 24000 条推文 id 中只得到 18 条推文
我也使用了 hydrator 应用程序,但结果是一样的。我究竟做错了什么?从大量数据中提取 18 个是否合乎逻辑?任何关于滋润推文文本世界的新建议都值得赞赏。(对不起我的英语不好,我不是天真的说话者)
reactjs - React Hydration - 我们如何对在构建时不完全可用的动态页面进行水合?
我正在使用 Express 和 React 构建网站。我使用服务器端渲染现在我正在寻找一种解决方案来补充我的最终 HTML。问题是在构建时,该页面仍然不可用。页面仅以主组件开始,Express 中间件可以向该主组件添加/删除子组件。这意味着我们只知道请求结束时页面的最终结构是什么
有什么方法可以使该页面水化并使 React 在客户端浏览器中可用?
太感谢了
symfony - 如何在已水合实体的集合中添加项目
在 Sylius 中,可翻译实体使用 anArrayCollection
来处理翻译,例如实体在属性中Product
具有实体。ProductTranslation
translations
给定数据库中一个已经水合的实体$object
,我们在$object->translations
.
现在,我想将另一个现有的翻译添加到我$object
的数据库中。
使用此代码,$translation
实体与$object
(相同的对象引用)相同,但集合中没有新的语言环境,我不明白为什么。我认为这与 Doctrine 的水合作用有关,但我不知道背后的逻辑。
我的查询没问题,因为如果我强制 mode AbstractQuery::HYDRATE_ARRAY
,我的数组包含正确的数据。我确实需要一个水合对象,因此通过将新翻译添加到集合来更新现有实体$object
将是完美的。
firebase - SSR 水合 Vue js Nuxt
我已经被 Vue.js 的水合问题困住了 2 多天了,似乎找不到解决方案。
语境:
我有一个页面,我想在服务器端呈现一些文章,以便将它们放在我的源代码中以获得更好的 SEO。这些文章从我的 Firestore 加载,然后发送到要显示的子组件。
这是我的页面组件:
index.js(更新)
This is were I call my loadArticles function:
这是 loadArticlesFunction:
如文档中所述,我已将 v-for 封装为仅客户端。
为了调试,我设置了各种断点,以便能够从 hydra 函数中读取 elm 对象,并尝试在这个 html 对象中找到错误消息,但没有运气。我还尝试使用 asyncData 而不是 fetch 但无法访问它。我最近的测试是使用一个承诺来强制 Nuxt 等待获取完成,但也没有运气。
我认为问题是在我的提取结束之前执行了mounted,从而导致了这个错误。
编辑
如果我在 catch 中添加一个 console.log,我会得到:
所以如果我注释掉这一行:
一切正常。
但现在我不知道为什么 new Date 在这里不起作用......以及用什么替换它......
server-side-rendering - 使用 Svelte 进行动态服务器端渲染。如何在客户身上补水?
假设我们有一个网页,其 HTMLlang
属性根据Accept-language
请求的标头动态设置。页面的正文也是特定于语言的。我想出了什么:
在哪里Page.svelte
:
一切正常。但现在我想让页面交互。我Body.svelte
在 App 中使用并设置hydrate
选项:
如果不设置此选项,内容将呈现两次。使用选项集,我们在浏览器中出现错误:
根据文档,我们可以将选项传递给编译器:
它说:
hydratable: true
为 <head> 中的每个元素添加一个标记,以便组件知道它负责在水合期间删除哪些元素
但我没有观察到任何标记。它对客户端渲染没有影响,并且错误仍然存在。
我错过了什么吗?
reactjs - 在客户端上为动态页面(使用 CDN 缓存时)执行 SSR 和水合单页应用程序是否有意义?
我有一个使用 React + Redux + Firebase 构建的博客网站(单页应用程序)。
我一直在考虑s-maxage
为我的页面实现 SSR 和 CDN 缓存(1 天)。
我将为所有页面请求执行 SSR。只有当我能够在这些响应上使用 CDN 缓存时才有意义,对吧?目前,我只将 CDN 缓存用于静态资产,例如index.html, *.js, etc
.
注意:我已经为机器人做了 SSR。并且这些响应没有被缓存在任何地方。每个访问我的页面的机器人都会获得页面的全新渲染。
例如:
- 用户点击
/blog/post-a
。 - 用户将获得一个完整呈现的
HTML
页面以及一个 Redux 状态。 - 那我打电话
ReactDOM.hydrate()
但是,如果在1 day
CDN 缓存期间,我使用管理 UI 更新了数据库上该页面的内容,该怎么办?
那么该缓存将是陈旧的,即使从s-maxage
角度来看它仍然有效。
那时会发生什么?
选项1
用户在补水前后会看到内容闪烁。这是最好的情况,因为此时帖子可能已被删除,并且在水合完成后,用户会看到旧内容和未找到的页面之间闪烁。
选项#2
我可以在处理水合过程时以某种方式显示微调器/加载器,并且仅在完成后才显示内容。但是,IMO,这基本上首先消除了 SSR 的好处。它基本上是带有额外步骤的 CSR(客户端渲染)。
选项#3
编辑特定页面后,我可以从我的 CDN 中使用某种 API 来清除/使该特定缓存无效。然后它必须为下一个请求重新渲染。
Obs:我无法使用选项#3。我的 CDN 是您从 Firebase Hosting 获得的。我只能选择一次清除/使整个 CDN 缓存失效。我不能选择特定的缓存来失效。
我认为这三个选项中的任何一个都不理想。所以我要问:为需要补水的单页应用程序的动态内容进行 SSR 真的有好处吗?人们通常会这样做吗?他们通常遵循三个选项中的哪一个?有没有更好的第四种选择?
reactjs - 当你调用 ReactDOM.hydrate(),它会运行 App 内部的 useEffect() 吗?
如果此应用程序正在服务器(SSR)上呈现并在客户端上水合,那么这些效果会在ReactDOM.hydrate(<App/>, rootDiv)
调用时在客户端上运行吗?我的意思是,它们会像在普通客户端渲染中一样运行吗?
reactjs - 如何正确触发 React JS 中服务器渲染文本字段的焦点事件
有时从服务器呈现的文本字段组件不会触发附加的 onFocus 事件处理程序。原因是,在服务器端呈现的文本字段组件在客户端还没有水合,用户试图事先专注于该组件。
vue.js - 防止组件在 Vite/Vue 3 SSR 组件补水上闪烁
我有一个在 SSR 中渲染得很好的组件,但是当 Vue 3 进行水合时会闪烁(我认为)。
我究竟做错了什么?我一定已经尝试了 50 种设置方式this.recipes
(在所有可能的生命周期挂钩中),但所有这些方式仍然会导致水合闪烁。
我正在使用 Vite(如果重要,可以使用 vite-ssr 插件)/Vue 3 SSR。请注意,闪烁后的组件似乎与 SSR 生成的版本相同,该版本在页面加载时显示(并且在源代码中)。