问题标签 [preact]
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.
preact - 如何将 preact-cli 生成的应用程序挂载到自定义 div id?
我正在尝试将生成的应用程序安装preact-cli
到自定义div id='root'
似乎没有此类功能的配置。
javascript - Preact.js - 如何像 React.js 一样启动自动重新运行服务器
我想像 React 一样使用开发服务器npm start
。但是,使用 Preact 时,当我使用相同的命令时,它会打开一个静态服务器,并且每次我想在我的项目中看到一些变化时,我都必须手动重新启动它。
我的package.json
:
相关链接:
javascript - Preact Router 在异步路由解决之前不会渲染
我有一个应用程序,它是服务器端渲染的,然后在客户端渲染以添加功能,但是,虽然第一次有意义的绘画的时间大约是 1000 毫秒,但一旦客户端脚本下载,页面就会变成白色,几秒钟后它再次呈现(客户端)。
经过一番调试,我意识到这是因为我正在这样做:
应用程序在哪里:
现在的问题是,html 是从服务器发送的,然后呈现。但是一旦执行了客户端脚本,<div id="app"></div>
就会刷新,因为AsyncRoute
尚未加载,这意味着没有要渲染的内容,因此页面变白。AsyncRoute
加载后, <div id="app"></div>
finally 有内容,因此页面被重新渲染。
我的问题是,在解决所有动态导入之前,如何才能使路由器或应用程序不会在客户端(上图)上呈现?
注意:我不能简单地这样做:
因为当我添加更多组件时,我将无法分辨要导入哪些路径,因此AsyncRoute
组件
javascript - 在生产环境中构建 webpack 时遇到问题
我正在做一个由 preact-cli 发起的项目。
我有一个捆绑我的应用程序的构建脚本。webpack 配置已经在 preact-cli 中全局定义,但我可以从 preact.config.js 修改它。
我检查了 preact-cli 中只有一个入口点,目前还可以。
并且存在一个 CommonsChunkPlugin。它有这个配置:
如果我使用此配置正常构建应用程序。我得到一个很大的捆绑文件。
所以我开始添加我自己的 CommonsChunkPlugin。
Preact 提供了一种修改 webpack 配置的方法。这是哪个
我的 preact.config.js 是:
此配置为我提供了 rom bundle.js 相隔 5 块的所有文件。清单文件包含预期的 webpack 的引导文件。我运行应用程序,但在浏览器中出现此错误:
所以,我发现 manifest.js 文件比 bundle.js 加载晚,并且所有脚本文件都有属性“defer”。webpackJsonp 定义存在于 manifest.js 文件中。
我尝试了 3 件事,在此之前我检查了 preact-cli 中已经存在的“ScriptExtHtmlWebpackPlugin”。它是这个:
我尝试过的事情:
将“ScriptExtHtmlWebpackPlugin”的默认属性更改为异步。这样我可以确保首先执行最小的文件,因为它将首先下载。在我的 preact.config.js 文件中添加任何插件之前,我编写了这段代码:
现在我得到了错误:
脚本文件加载到 build 文件夹的 index.html 中,如下所示:
/li>让属性仍然是'defer',但是改变加载文件的顺序,希望manifest.js比bundle.js更早加载。所以我在'HtmlWebpackPlugin'中编写了这个配置。
现在我得到了错误:
build 文件夹的 index.html 文件按以下顺序加载脚本:
注意:在上述两种方法中,我的代码都不会影响 bundle.js 文件位置的任一属性。
通过preact-cli构建后,手动改变加载脚本的顺序,所以我把manifest.js放在bundle.js上面。所以它看起来像这样:
我收到了这个错误:
/li>
现在我没有选择了,我需要帮助。
javascript - Chai.js - 如何测试 JSX 组件是否具有特定的样式属性?
问题:
我使用 preact.js lib 创建了一个通用按钮组件。我还创建了一个让按钮居中或左对齐的道具:
/li>button.js
在我的睾丸套装中,我正在考虑一种方法来检查按钮组件是否居中。但我不想比较整个组件本身,因为测试可能会因为属性align: center
或其他原因而中断align: left
:
/li>button.test.js
所以我的问题是:如何检查组件是否具有特定样式align: center
或align: left
使用 chai.js 断言 api?
reactjs - 与 preact 别名时,create-react-app 在测试中找不到反应
我用“create-react-app”创建了一个项目。我已经通过弹出它并在 webpack 配置中使用别名将 preact 添加到项目中。
这在代码中有效,我能够呈现应用程序。但是,在测试中我收到以下错误
为什么找不到模块?除了别名之外,我们还有什么需要添加到配置中的吗?
typescript - 如何在 typescript tsx 代码中扩展 jsx 元素的属性?
测试.tsx
产量
所以我在 JSX 部分上方的 test.tsx 中添加:
但没有任何效果。唔?
如何在本地向我想要使用的 JSX 代码添加属性?
我知道我可以粗暴地破解导入的类型文件,但我想知道是否有本地方法。
编辑: 除了 onerror 属性(即 preact.d.ts 中“错误地”缺失)之外,我通常想知道如何将临时属性添加到内在元素甚至我自己的元素。奇怪的是,打字稿从不抱怨我可能也会切换的“data-*”属性(无论如何都想成为一个不错的 html5 开发人员)。但是关于扩展接口 HTMLAttributes 的问题仍然对我开放。
reactjs - Preact 和 React 渲染无状态组件的区别
我正在使用 Preact,因为我有一个有大小限制的项目。我创建了两个 Playground,一个使用 Preact,一个使用 React。
只需在搜索字段中输入,注意 Preact 和 React 的更新方式有何不同。React 在 DOM 节点上重新渲染,Preact 添加到它。
我希望 Preact 表现得像 React。请帮忙
这是有问题的代码,游乐场可以看到下面的不同行为
这是 React 的游乐场:
https://stackblitz.com/edit/react-yey8js?file=index.js
这是 CodePen 的操场:
reactjs - 如何在 preact-material-components 中使用 Select
我在 PWA 上使用preact-material-components 。
我想添加一个选择菜单,所以我可以这样做:
进而
但是选择菜单看起来一点也不好看,我可以使用开发工具看到正在导入样式,但看起来 CSS 有问题,我是 React 新手,所以我想知道你对这段代码的看法.
react-router-v4 - React-Router 嵌套路由名称
我想在 react-router v4 中实现这种路由。
它不起作用,<Switch>
因为它首先匹配/auth
并渲染关联的组件。因此,当我单击链接转到login page
例如它呈现的Auth Component
而不是Login Component
.
如何使用 react-router 实现该行为?我尝试了嵌套路由,但如果我采用与以前相同的示例,它将呈现Auth Component + Login Component
.
谢谢。