标签: hydration

什么是学说水合作用?

我已经读过关于学说文献中的水合作用,但我仍然无法理解它是什么.

有人可以解释一下吗?

php doctrine hydration

90
推荐指数
1
解决办法
4万
查看次数

尝试使用反应播放器会引发水合错误

你好你好吗?我试图react-player在我的 Next.js 应用程序中使用,但没有任何运气。

这段代码

import ReactPlayer from "react-player";

const Home = () => {
return (
  <div>
    <p>Here is my video!!</p>
    <div className={s.wrapper}>
      <ReactPlayer src='https://www.youtube.com/watch?v=zohpogt56Bg' width="100%" 
       height="100%" className={s.player} />
    </div>
  </div>
)}
Run Code Online (Sandbox Code Playgroud)

不断抛出此错误:错误:水合失败,因为初始 UI 与服务器上呈现的内容不匹配。

有人知道发生了什么事吗?谢谢!

reactjs hydration next.js react-player

17
推荐指数
2
解决办法
9822
查看次数

为什么 useEffect 钩子即使没有依赖项仍然在客户端“运行”,即使页面已由 next-js 预渲染

我认为预渲染过程意味着像 useEffect 这样的钩子已经在服务器上执行了。

我读过一些关于水合作用的内容,不知道它是否解释了这种现象,但无法从解释该术语的博客中清楚地理解它。

reactjs hydration next.js use-effect pre-rendering

11
推荐指数
1
解决办法
6220
查看次数

禁用水化/仅部分水化 Next.js 应用程序

是否可以在 Next.js 中强制使用SSR-only模式并且仅部分地对页面进行水合?假设我有这个应用程序:

组件/dynamic.jsx

export default () => (
  <button onClick={() => console.log("I have been clicked")}>Click me</button>
)
Run Code Online (Sandbox Code Playgroud)

页面/index.jsx

import DynamicComponent from "../components/dynamic.jsx";

export default () => (
  <div>
    <h1>Hello World</h1>
    <p>Lorem ipsum</p>
    <Hydrate>
      <DynamicComponent />
    </Hydrate>
  </div>
);
Run Code Online (Sandbox Code Playgroud)

现在假设我们正在渲染pages/index.jsxNext.js因此它将在服务器上渲染并在客户端上完全水合。出于性能原因(缩小包大小,减少执行时间)并让应用程序更好地播放广告 () 我只想DynamicComponent在客户端上水合,最多只为客户端加载 JavaScript DynamicComponent

这可能与

  • 反应?
  • 下一个.js?

谢谢

reactjs hydration next.js

9
推荐指数
1
解决办法
5176
查看次数

为什么在 Nuxt 3 中使用 useState 时会收到此水合警告?

MRE: https: //github.com/Morpheu5/nuxt3-Hydration-mre(原为https://box.morpheu5.net/s/H6WXBfCebrRyTa8

根据文档,useStateNuxtJS 3 应该是 SSR 友好的轻量级创建状态的方式。我需要使用它,以便任何人都page/[somepage].vue可以设置一些数据供layout/default.vue. 这是一个页面:

<template>
    <div>Some page content.</div>
</template>

<script setup>
    useState('page_title', () => 'Some page title');
</script>
Run Code Online (Sandbox Code Playgroud)

这是默认布局:

<template>
    <div>
        <h1>{{ page_title }}</h1>
        <slot />
    </div>
</template>

<script setup>
    const page_title = useState('page_title');
</script>
Run Code Online (Sandbox Code Playgroud)

当我在开发模式下运行它时,我在浏览器的控制台中收到此警告:

runtime-core.esm-bundler.js:38 [Vue warn]: Hydration text content mismatch in <h1>:
- Client: 
- Server: Some page title 
  at <Default > 
  at <AsyncComponentWrapper > 
  at <BaseTransition mode="out-in" appear=false persisted=false  ... > 
  at …
Run Code Online (Sandbox Code Playgroud)

hydration nuxtjs3

8
推荐指数
1
解决办法
7944
查看次数

我们可以阻止 Vue 为特定组件执行客户端 Hydration 吗?

我是新手Vue,我们面临着DOM页面总大小增加的问题,因为我们在DOMVue 客户端水化的配置中存储了大量数据。出于 SEO 的目的,我们不能跳过服务器端渲染。

我希望是否有任何方法可以阻止水化作用在少数Vue组件上?

所以基本上,我们可以强制 SSR 跳过附加“数据服务器渲染”属性。

client-side-validation vue.js hydration

5
推荐指数
0
解决办法
387
查看次数

打字稿中具有数据水合/脱水的类

我想在React + TS前端和node + TS后端之间共享TS类或接口。问题是TS类型在编译时被剥夺了,因此当我要将类实例转换为JSON时无法使用它们。

我想知道是否有任何解决方案可以在静态文件中描述对象,生成TS类以及将该文件用于数据水合和脱水。一些属性是moment.js对象和Decimal.js对象。我正在寻找一种可以基于静态描述符进行转换的解决方案,而无需为每个属性手动编写转换。

脱水格式用于HTTP请求中,另外还存储在DB(Firebase Firestore)中,并且可由前端直接访问以进行读取。

node.js typescript hydration

5
推荐指数
1
解决办法
137
查看次数

NuxtLink 的子级渲染两次(水合错误?)

跨度渲染两次

我的预感是存在一些水合不匹配,其中FontAwesomeIcon未在服务器上渲染(仅span),然后在客户端上NuxtLink渲染 的两个子节点(svgspan),提示 Nuxt 渲染span两次。

但控制台不会返回错误。

关于如何调试这个有什么想法吗?

这是 Vue 组件:

<template>
  <ul v-if="routes.length > 0" class="col-span-2 flex flex-col">
    <li v-for="(item, i) in routes" :key="item.name">
      <NuxtLink :to="item.path" target="_blank">
        <FontAwesomeIcon :icon="item.icon" class="mr-3" fixed-width />
        <span>{{ item.title }}</span>
      </NuxtLink>
    </li>
  </ul>
</template>

<script lang="ts">
export default defineComponent({
  props: {
    links: {
      type: Array,
      default: () => ["instagram", "facebook", "email"],
    },
  },
  computed: {
    routes() {
      return [
        {
          name: "instagram",
          path: "https://www.instagram.com/insta.name/", …
Run Code Online (Sandbox Code Playgroud)

mismatch vue.js server-side-rendering hydration nuxt.js

5
推荐指数
1
解决办法
1741
查看次数

Symfony Doctrine Hydrator - 使用定制水化器我失去了 ManyToOne 关系

我想扩展 ObjectHydrator 以受益于我的 ManyToOne 关系的水合并向实体添加额外的字段。

这是我的水合器:StatisticsDataHydrator.php

namespace AppBundle\Hydrator\ProjectAssignment;

use AppBundle\Entity\ProjectAssignment;
use Doctrine\ORM\Internal\Hydration\ObjectHydrator;

    class StatisticsDataHydrator extends ObjectHydrator
    {
        /**
         * {@inheritdoc}
         */
        protected function hydrateRowData(array $data, array &$result)
        {
            $hydrated_result = array();
            parent::hydrateRowData($data, $hydrated_result);

            /** @var ProjectAssignment $project_assignment */
            $project_assignment = $hydrated_result[0][0];

            $result[] = $project_assignment;
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我的配置:config.yml

doctrine:
    orm:
        hydrators:
            project_assignment_statisticsdata_hydrator: AppBundle\Hydrator\ProjectAssignment\StatisticsDataHydrator
Run Code Online (Sandbox Code Playgroud)

在我不使用保湿器的情况下,我没有问题:

/**
 * @param ProjectStage $stage
 * @return array
 */
public function findByStageWithStatisticsData(ProjectStage $stage){
    $qb = $this->createQueryBuilder('pa');

    $qb
        //->addSelect('44')
        ->where($qb->expr()->eq('pa.project_stage', ':stage'))
        ->setParameter('stage', $stage);

    return $qb->getQuery()->getResult();
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但当我使用保湿器时:

/** …
Run Code Online (Sandbox Code Playgroud)

doctrine many-to-one symfony doctrine-orm hydration

4
推荐指数
2
解决办法
7977
查看次数

Next.js 错误:水合失败,因为初始 UI 与服务器上呈现的内容不匹配

不知道是什么原因导致这个错误?

如果我删除以下代码,则不会显示该错误。

为什么这部分代码会导致此错误以及如何解决它?

      <div className="relative flex flex-col items-center pt-[85.25%] sm:pt-[56.25%] md:pt-[56.26%]">
        <ReactPlayer
          className="absolute top-0 left-0"
          url={`https://www.youtube.com/watch?v=u5-CF_k0KK0&list=RDu5-CF_k0KK0&start_radio=1&ab_channel=TumpyGFX`}
          width="100%"
          height="100%"
        />
      </div>
Run Code Online (Sandbox Code Playgroud)

javascript reactjs hydration next.js

2
推荐指数
1
解决办法
2万
查看次数

反应中什么是水合作用?

目前,我正在学习反应并了解术语“水合作用”,我不确定它是如何工作的,任何人都可以帮忙。提前致谢。

我创建了react-app,它有时会给出水合错误来解决这个错误,我不太确定水合是如何工作的,所以我想清楚水合是如何工作的。

javascript web reactjs hydration next.js

2
推荐指数
1
解决办法
627
查看次数