@nativescript-community/solid-js
SolidJS 与 NativeScript 的结合
npm i --save @nativescript-community/solid-js

NativeScript SolidJS

为 SolidJS 在 DOMiNATIVENativeScript 上工作提供的自定义渲染和补丁

游乐场


安装

通过 npm

npm install @nativescript-community/solid-js dominative undom-ng solid-js @babel/preset-typescript babel-preset-solid

注意: dominativeundom-ngsolid-js 是 peer dependencies,您需要手动安装它们。作为使用 peer dependencies 的好处,您可以直接从上游升级这些依赖项,无需等待 @nativescript-community/solid-js 的更新


用法

import { Application } from "@nativescript/core"
import { render } from "@nativescript-community/solid-js"
import { createSignal } from "solid-js"

document.body.actionBarHidden = false

const App = () => {
const [count, setCount] = createSignal(0)
const increment = () => {
setCount(c => c + 1)
}
return <>
<actionbar title="Hello, SolidJS!"></actionbar>
<stacklayout>
<label>You have taapped {count()} time(s)</label>
<button class="-primary" on:tap={increment}>Tap me!</button>
</stacklayout>
</>
}

const create = () => {
render(App, document.body)
return document
}

Application.run({ create })

注意事项

事件处理

使用 on:raw-EventNameoncapture:RawEvent-Name 来注册事件处理器,而不是 on___。这可能会有些烦恼,但 NativeScript 使用大小写敏感的事件名称,并且没有原生事件冒泡,这意味着委托无法工作。

要启用事件的捕获和冒泡阶段,请参阅此 文档

许可证

MIT