Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🧿 ˏˋSignalsˎˊ for React

License

NotificationsYou must be signed in to change notification settings

nanxiaobei/solid-react

Repository files navigation

kee.so

Create now ➫🔗 kee.so


🧿 solid-react

Hooks for a SolidJS-like React

npmnpm bundle sizenpm type definitionsGitHub

Introduction

Turn React into SolidJS, update on demand, no more re-render.

https://nanxiaobei.medium.com/turn-react-into-solidjs-update-on-demand-no-more-re-render-3230fe2f878c

Demo

Here is a demo, you can open the console, click the button to try, and you will find:

Components don’t re-render anymore, React is completely SolidJS-style on-demand updates!

useUpdateuseAuto don't need anything likedeps, their dependencies are automatically knew. And only when dependencies change, they execute again.

Yes, that is to say, you can get rid of Hooks,useCallbackuseMemodepsmemo, they're unnecessary anymore.

Edit solid-react

Install

pnpm add solid-react# oryarn add solid-react# ornpm i solid-react

API

useSignal

import{useSignal}from'solid-react';const[count,setCount]=useSignal(0);constcountDisplay=<div>{count()}</div>;

Returns a getter and a setter. (likecreateSignal)

useUpdate

import{useUpdate}from'solid-react';const[count,setCount]=useSignal(0);useUpdate(()=>console.log('count:',count()));

The callback runs at mount and when its dependencies change. (likecreateEffect)

useAuto

import{useAuto}from'solid-react';constvalue=useAuto(()=>computeExpensiveValue(a(),b()));value();

Returns a computed value getter, re-compute when dependencies change. (likecreateMemo)

useMount

import{useMount}from'solid-react';useMount(()=>console.log('mounted'));

Register a method that runs after initial render. (likeonMount)

useCleanup

import{useCleanup}from'solid-react';el.addEventListener(event,callback);useCleanup(()=>el.removeEventListener(event,callback));

Register a cleanup method that runs when unmount. (likeonCleanup)

Run

import{Run}from'solid-react';<div>{Run(()=>(a() ?b() :c()))}</div>;<div>{Run(()=>Object.keys(obj())).map((e)=>e)}</div>;

A helper function for conditional operator or executions in jsx.

About

🧿 ˏˋSignalsˎˊ for React

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp