iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0

今天要來繼續筆記 Solid.js,介紹 batchcreateStore

batch

先來看以下一段程式碼:

import { createSignal } from "solid-js"

export default function Hello({name}: {name: string}) {
    const [count,setSount] = createSignal<number>(10);
    const [age,setAge] = createSignal<number>(0);

    const totalValue = ()=>{
				console.log('value updated')
        return count() + age();
    }

    const updateValue=()=>{
				**batch**(()=>{ //原本沒有使用
					setSount(count()+1);
	        setAge(age()+1);
				})
    }

    return(
        <>
            <div>Count:{count()}</div>
            <div>Age:{age()}</div>
            <div>Total:{totalValue()}</div>
            <button onClick={()=>updateValue()}></button>
        </>
    )
}

totalValue 裡面的console.log,在我們每一次按下 button更新 count 和 age (reactive values)時都會印出兩次 'value updated',這時候我們可以使用 batch,batch 會等被包住的callback 都執行完畢後才會一次印出 console.log('value updated')。

createStore

import { createStore } from "solid-js/store";

export const [personStore, setPersonStore] = createStore({
		firstName: 'tai',
		lastName:'yeh',
		age: 45,
		
		get fullName() {
      return `I am ${this.firstName} ${this.lastName} and ${age}-years-old`;
    },
})

參考影片:


上一篇
Solid.js
下一篇
如何管理你的 API?
系列文
往後端邁進的菜前端30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言