当前位置: 首页> 科技> 数码 > 找设计师网上接单平台_大牌装修公司_免费的行情网站_企业关键词优化专业公司

找设计师网上接单平台_大牌装修公司_免费的行情网站_企业关键词优化专业公司

时间:2025/7/18 2:20:49来源:https://blog.csdn.net/shenshouer/article/details/145012413 浏览次数:0次
找设计师网上接单平台_大牌装修公司_免费的行情网站_企业关键词优化专业公司

在svelet5中导入并使用react组件库

  • svelte5中使用react组件

svelte5中使用react组件

在svelet5中导入并使用react组件库, 示例项目地址:https://github.com/shenshouer/my-svelte-react

在svelte5中当前还有问题,无法将children传递到react中渲染

  1. 使用svletkit创建项目
$ npx sv create my-svelte-react% npx sv create my-svelte-react
┌  Welcome to the Svelte CLI! (v0.6.10)
│
◇  Which template would you like?
│  SvelteKit minimal
│
◇  Add type checking with Typescript?
│  Yes, using Typescript syntax
│
◆  Project created
│
◇  What would you like to add to your project? (use arrow keys / space bar)
│  none
│
◇  Which package manager do you want to install dependencies with?
│  pnpm
│
◆  Successfully installed dependencies
│
◇  Project next steps ─────────────────────────────────────────────────────╮
│                                                                          │
│  1: cd my-svelte-react                                                   │
│  2: git init && git add -A && git commit -m "Initial commit" (optional)  │
│  3: pnpm run dev --open                                                  │
│                                                                          │
│  To close the dev server, hit Ctrl-C                                     │
│                                                                          │
│  Stuck? Visit us at https://svelte.dev/chat                              │
│                                                                          │
├──────────────────────────────────────────────────────────────────────────╯
│
└  You're all set!$ cd my-svelte-react$ pnpm install$ pnpm dev
  1. 安装react相关依赖
$ pnpm i react react-dom
$ pnpm i --save-dev @types/react @types/react-dom
$ pnpm add @vitejs/plugin-react -D
  1. 修改vite.config.ts增加react支持
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';  # <---- hereexport default defineConfig({plugins: [sveltekit(), react()]        # <---- here
});
  1. 创建react svelte适配器ReactAdapter.svelte, 代码如下:
# src/lib/utils/ReactAdapter.svelte<script lang="ts">import React from "react";import ReactDOM from "react-dom/client";import { onDestroy, onMount } from "svelte";const e = React.createElement;let container: HTMLElement;let root: ReactDOM.Root;onMount(() => {const { el, children, class: _, ...props } = $$props;try {root = ReactDOM.createRoot(container);root.render(e(el, props, children));} catch (err) {console.warn(`react-adapter failed to mount.`, { err });}});onDestroy(() => {try {if (root) {root.unmount();}} catch (err) {console.warn(`react-adapter failed to unmount.`, { err });}});
</script><div bind:this={container} class={$$props.class}></div>

目前此部分适配器有问题, children无法获取并且在react组件中渲染

参考:
props-and-restProps
issues

  1. 添加react组件库, 如 ant design
$ pnpm add antd# +page.svelte<script lang="ts">import { Button } from "antd";import ReactAdapter from "$lib/utils/ReactAdapter.svelte";
</script><ReactAdapter el={Button} type="primary">Hello, World!</ReactAdapter>
关键字:找设计师网上接单平台_大牌装修公司_免费的行情网站_企业关键词优化专业公司

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: