use-immer-state
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

useImmerState

编写对象,由繁入简

特性

  • 完整、轻量级实现 Immer 核心
  • React 响应式驱动
  • TypeScript 支持

在线体验

Edit

安装

npm install use-immer-state --save

极速上手

配合 React Hooks 使用:

import useImmerState from 'use-immer-state'

function App() {
  const [basket, updateBasket] = useImmerState({
    fruits: ['apple', 'pear']
  })
  const addOrange = () => updateBasket((draft) => {
    draft.fruits.push('orange')
  })
  return (
    <>
      <span>fruits: {String(basket.fruits)}</span>
      <button onClick={addOrange}>Add Orange</button>
    </>
  )
}

export default App

还可以只使用 produce 函数:

import { produce } from 'use-immer-state'

const baseState = {
  fruits: ['apple', 'pear']
}

const result = produce(baseState, (draft) => {
  draft.fruits.push('orange')
})

/use-immer-state/

    Package Sidebar

    Install

    npm i use-immer-state

    Weekly Downloads

    5

    Version

    0.1.2

    License

    MIT

    Unpacked Size

    2.85 MB

    Total Files

    20

    Last publish

    Collaborators

    • thisispluto