我正在尝试为我的项目选择一个提供数据绑定和DOM管理功能的库。比较多个库后,我最终选择了Inferno和Svelte。
我注意到Svelte的评估脚本时间比其他库要长(请参阅附件图像)
。
在示例中,我绘制了一个100 x 15的表格(总共1500个单元格)。尽管渲染时间减少了几毫秒,但是inferno的脚本执行时间是它的一半。
时间随着元素数量的增加而急剧增加,例如。对于15000个单元格苗条脚本,评估时间为2000ms,而inferno则为680ms。
苗条代码:
<style>
table,td,tr {
border: 1px solid black;
}
</style>
<script>
import { officedatabase } from '../../../data_generator/sampleGridData/initialloaddata.js';
</script>
<table>
{#each officedatabase as row}
<tr>
{#each row as cell}
<td>{cell}</td>
{/each}
</tr>
{/each}
</table>
Run Code Online (Sandbox Code Playgroud)
地狱样本代码:
import { Component } from 'inferno';
import { officedatabase } from './initialloaddata.js';
export default class Grid extends Component {
state = {
data: officedatabase
};
render () {
let data = this.state.data, …Run Code Online (Sandbox Code Playgroud) 我将 inferno js 与 typescript 一起使用(在 webpack3 中使用 ts-loader 和 TransformInferno),并且大多数情况下它运行良好。但是,当在 webpack-dev-server inferno 中运行时,You are running production build of Inferno in development mode. Use dev:module entry point.浏览器控制台中会输出。
虽然我可以看到 infernodev:module在 package.json 中定义了一个条目,但我不明白如何使用此入口点而不是默认入口点module?
jsx 在 React 中被战术性地使用,并通过更详细地查看代码来帮助开发人员理解 React 组件。现在的问题是,是否可以使用其他方法例如使用简单的函数或使用react库中的preact或inferno等其他库?
通过我所做的搜索,我认为其他库(例如 preact 或 inferno)可以在 React 库中使用。这个结论正确吗?
infernojs ×3
javascript ×1
jsx ×1
performance ×1
preact ×1
reactjs ×1
svelte ×1
svelte-3 ×1
typescript ×1
webpack ×1