preact
约 1 分钟阅读
- preactjs/preactGitHubpreactjs/preactpreactjs/preact · React 替代 · preact - 10kB,4kB · =React+ReactDOM · preact-compat - 13kB,5kB · react - 7kB,3kB · react-dom - 130kB,42kB笔记:preact
- React 替代
- preact - 10kB,4kB
- =React+ReactDOM
- preact-compat - 13kB,5kB
- react - 7kB,3kB
- react-dom - 130kB,42kB
- preact - 10kB,4kB
- 适用于 微前端 bundle 场景
- React 替代
- 参考
- preactjs/preact-compatGitHubpreactjs/preact-compatpreactjs/preact · React 替代 · preact - 10kB,4kB · =React+ReactDOM · preact-compat - 13kB,5kB · react - 7kB,3kB · react-dom - 130kB,42kB笔记:preact
<script type="module">
import { h, Component, render } from 'https://unpkg.com/preact?module';
import htm from 'https://unpkg.com/htm?module';
// htm 替代构造 DOM - 不依赖 JSX 转译但达到类似效果
const html = htm.bind(h);
function App(props) {
return html`<h1>Hello ${props.name}!</h1>`;
}
render(html`<${App} name="World" />`, document.body);
</script>依赖替代
{
"dependencies": {
"react": "npm:@preact/compat",
"react-dom": "npm:@preact/compat"
},
"alias": {
"react": "preact/compat",
"react-dom/test-utils": "preact/test-utils",
"react-dom": "preact/compat",
"react/jsx-runtime": "preact/jsx-runtime"
}
}rollup 替代 react
export default {
plugins: [
alias({
entries: [
{ find: 'react-dom', replacement: 'preact/compat' },
{ find: 'react', replacement: 'preact/compat' },
],
}),
],
};Testing
import { act } from 'preact/test-utils';关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- Web Awesome笔记 · preact
https://www.c82.net/iconography/ · https://www.photopea.com/ · ryohey/signal · MIT, TS · Online MIDI Editor: signal · http://oskarstalberg.com/Townscaper/
References
GitHub2 条
- preactjs/preactgithub.com/preactjs/preact
- preactjs/preact-compatgithub.com/preactjs/preact-compat
其他外链1 条
- preactjs.com/guide/v10/preact-testing-librarypreactjs.com/guide/v10/preact-testing-library