-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathindex.html
22 lines (22 loc) · 31.7 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!doctype html>
<html lang="zh-Hans" dir="ltr" class="plugin-pages plugin-id-default">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">limu | limu</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://tnfe.github.io/limu/"><meta data-rh="true" name="docusaurus_locale" content="zh-Hans"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="zh-Hans"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="limu | limu"><meta data-rh="true" name="description" content="A development solution of frontend dynamic micro component"><meta data-rh="true" property="og:description" content="A development solution of frontend dynamic micro component"><link data-rh="true" rel="icon" href="/limu/img/limu.ico"><link data-rh="true" rel="canonical" href="https://tnfe.github.io/limu/"><link data-rh="true" rel="alternate" href="https://tnfe.github.io/limu/en/" hreflang="en"><link data-rh="true" rel="alternate" href="https://tnfe.github.io/limu/" hreflang="zh-Hans"><link data-rh="true" rel="alternate" href="https://tnfe.github.io/limu/" hreflang="x-default"><script data-rh="true">function maybeInsertBanner(){window.__DOCUSAURUS_INSERT_BASEURL_BANNER&&insertBanner()}function insertBanner(){var n=document.getElementById("__docusaurus-base-url-issue-banner-container");if(n){n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/limu/</span> </p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n';var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,r="/"===s.substr(-1)?s:s+"/";e.innerHTML=r}}window.__DOCUSAURUS_INSERT_BASEURL_BANNER=!0,document.addEventListener("DOMContentLoaded",maybeInsertBanner)</script><link rel="alternate" type="application/rss+xml" href="/limu/blog/rss.xml" title="limu RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/limu/blog/atom.xml" title="limu Atom Feed"><link rel="stylesheet" href="/limu/assets/css/styles.c9e222e7.css">
<link rel="preload" href="/limu/assets/js/runtime~main.1fef9649.js" as="script">
<link rel="preload" href="/limu/assets/js/main.f4ae491f.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div id="__docusaurus-base-url-issue-banner-container"></div><div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/limu/"><div class="navbar__logo"><img src="https://user-images.githubusercontent.com/7334950/253809392-40426760-bb02-43fc-a5bb-f1fd369bb8e6.png" alt="limu-logo" class="themedImage_ToTc themedImage--light_HNdA"><img src="https://user-images.githubusercontent.com/7334950/253809392-40426760-bb02-43fc-a5bb-f1fd369bb8e6.png" alt="limu-logo" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">limu</b></a><a class="navbar__item navbar__link" docid="docs/api/basic" href="/limu/docs/api/">api</a><a class="navbar__item navbar__link" docid="changelog" href="/limu/docs/changelog/intro">日志</a><a class="navbar__item navbar__link" href="/limu/blog">Blog</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/tnfe/limu" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true" class="iconLanguage_nlXk"><path fill="currentColor" d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></svg>简体中文</a><ul class="dropdown__menu"><li><a href="/limu/en/" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="en">English</a></li><li><a href="/limu/" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="zh-Hans">简体中文</a></li></ul></div><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="切换浅色/暗黑模式(当前为浅色模式)" aria-label="切换浅色/暗黑模式(当前为浅色模式)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><header class="hero hero--primary heroBanner_qdFl" style="height:400px"><div class="container"><h1 class="hero__title" style="font-size:88px;font-weight:600">limu</h1><p class="hero__subtitle">更快更好用的不可变数据js库</p><div class="buttons_AeoN"><a class="button button--secondary button--lg" href="/limu/docs/api">快速开始 - 1 min ⏱️</a><div style="display:inline-block;width:28px"></div></div></div></header><main><section class="features_t9lD"><div class="container"><div class="row"><div class="col col--4"><div class="text--center"><img src="https://user-images.githubusercontent.com/7334950/253807518-dee752ee-7f94-43fc-8186-3a5725bfc755.png" width="180px" style="margin-bottom:12px"></div><div class="text--center padding-horiz--md"><h3 style="color:#f04231">默认不冻结,大多数场景下都要比immer快3到5倍或更多</h3><p></p><div style="text-align:left">immer的冻结行为造成了大量性能损耗,且此配置关闭后性能提升有限,limu采用读时浅复制写时标记修改的策略压榨出了更强劲的性能(无论冻结与否)<img style="margin-top:20px" src="https://user-images.githubusercontent.com/7334950/257363042-522b49bc-d4b5-4491-a7af-d1e3f65769e8.png"></div><p></p></div></div><div class="col col--4"><div class="text--center"><img src="https://user-images.githubusercontent.com/7334950/253807641-03fe646e-41e3-4cb7-bf23-f37deabaf43f.png" width="180px" style="margin-bottom:12px"></div><div class="text--center padding-horiz--md"><h3 style="color:#46ab5d">更强的隐藏式代理机制,让用户像查看原生数据一样查看草稿数据任意节点</h3><p></p><div style="text-align:left">因层层代理导致调试模式下查看immer的草稿数据像进入黑盒世界,还需借助昂贵的current接口导出草稿的副本才能查看草稿数据全貌<img style="margin-top:20px;box-shadow:2px 2px 4px rgba(0, 0, 0, 0.4)" src="https://github.com/tnfe/limu/assets/7334950/13fa0776-a025-42d1-83b1-71184eb617d7"></div><p></p></div></div><div class="col col--4"><div class="text--center"><img src="https://user-images.githubusercontent.com/7334950/253807413-88c1eb5f-fece-4c08-9a1c-039aa9f23890.png" width="180px" style="margin-bottom:12px"></div><div class="text--center padding-horiz--md"><h3 style="color:#3f85c2">默认支持Map、Set,兼容immer大部分接口,gzip后4.3kb</h3><p></p><div style="text-align:left">limu设计为面向现代浏览器的不可变数据js库,只运行于支持proxy特性的js环境,相比immer 6.3kb大小容量接近减少1/3<img style="margin-top:20px;box-shadow:2px 2px 4px rgba(0, 0, 0, 0.4)" src="https://user-images.githubusercontent.com/7334950/257385342-6e4aa35a-ac1b-4373-a1d2-122fc637245c.png"></div><p></p></div></div></div></div></section><div style="text-align:center"><div style="width:780px;margin:0 auto"><label><input name="demo" type="radio" checked="" value="produce">produce<!-- --> </label><label><input name="demo" type="radio" value="createDraft">createDraft<!-- --> </label><label><input name="demo" type="radio" value="immut">immut<!-- --> </label><label><input name="demo" type="radio" value="onOperate">onOperate<!-- --> </label><label><input name="demo" type="radio" value="benchmark">benchmark<!-- --> </label></div><div style="width:780px;height:12px"></div><div class="tip_w9vE" style="color:rgb(240, 66, 49)">全局已绑定limu对象(包含方法)和immer对象,可右键打开浏览器控制台并粘贴以下代码体验差异(顶部的 import 导入无需粘贴)</div><div style="width:1000px;min-height:500px;margin:0 auto"><pre class="sc-gEvEer jYTCdd prism-code language-typescript" style="color:#9CDCFE;background-color:#1E1E1E"><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">1</span><span class="sc-dcJsrY kIQcrr"><span class="token plain" style="display:inline-block">
</span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">2</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">import</span><span class="token plain"> </span><span class="token operator" style="color:rgb(212, 212, 212)">*</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(86, 156, 214)">as</span><span class="token plain"> limu </span><span class="token keyword" style="color:rgb(86, 156, 214)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">'limu'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">3</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token comment" style="color:rgb(106, 153, 85)">// ---------------- 以下代码可复制到console运行(window全局已绑定limu对象)----------------</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">4</span><span class="sc-dcJsrY kIQcrr"><span class="token plain" style="display:inline-block">
</span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">5</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">const</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"> produce </span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token plain"> </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> limu</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">6</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">const</span><span class="token plain"> baseState </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">7</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"> a</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">1</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">8</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"> b</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">1</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">2</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">3</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">]</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">9</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"> c</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">10</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"> c1</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"> n</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">1</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">11</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"> c2</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"> m</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">2</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">12</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">13</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">14</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">const</span><span class="token plain"> nextState </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(220, 220, 170)">produce</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">baseState</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">draft</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token operator" style="color:rgb(212, 212, 212)">=></span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">15</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"> draft</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">a </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">2</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">16</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"> draft</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">b</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token string" style="color:rgb(206, 145, 120)">'2'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">]</span><span class="token plain"> </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">100</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">17</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">18</span><span class="sc-dcJsrY kIQcrr"><span class="token plain" style="display:inline-block">
</span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">19</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token builtin" style="color:rgb(86, 156, 214)">console</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token function" style="color:rgb(220, 220, 170)">log</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">nextState </span><span class="token operator" style="color:rgb(212, 212, 212)">===</span><span class="token plain"> baseState</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"> </span><span class="token comment" style="color:rgb(106, 153, 85)">// false</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">20</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token builtin" style="color:rgb(86, 156, 214)">console</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token function" style="color:rgb(220, 220, 170)">log</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">nextState</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">a </span><span class="token operator" style="color:rgb(212, 212, 212)">===</span><span class="token plain"> baseState</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">a</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"> </span><span class="token comment" style="color:rgb(106, 153, 85)">// false</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">21</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token builtin" style="color:rgb(86, 156, 214)">console</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token function" style="color:rgb(220, 220, 170)">log</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">nextState</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">b </span><span class="token operator" style="color:rgb(212, 212, 212)">===</span><span class="token plain"> baseState</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">b</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"> </span><span class="token comment" style="color:rgb(106, 153, 85)">// false</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">22</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token builtin" style="color:rgb(86, 156, 214)">console</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token function" style="color:rgb(220, 220, 170)">log</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">nextState</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">c </span><span class="token operator" style="color:rgb(212, 212, 212)">===</span><span class="token plain"> baseState</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">c</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"> </span><span class="token comment" style="color:rgb(106, 153, 85)">// true</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">23</span><span class="sc-dcJsrY kIQcrr"><span class="token plain" style="display:inline-block">
</span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">24</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token comment" style="color:rgb(106, 153, 85)">// Currying call</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">25</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">const</span><span class="token plain"> producer </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(220, 220, 170)">produce</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">draft</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token operator" style="color:rgb(212, 212, 212)">=></span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">26</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"> draft</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">a </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">2</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">27</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"> draft</span><span class="token punctuation" style="color:rgb(212, 212, 212)">.</span><span class="token plain">b</span><span class="token punctuation" style="color:rgb(212, 212, 212)">[</span><span class="token string" style="color:rgb(206, 145, 120)">'2'</span><span class="token punctuation" style="color:rgb(212, 212, 212)">]</span><span class="token plain"> </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token number" style="color:rgb(181, 206, 168)">100</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">28</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">29</span><span class="sc-dcJsrY kIQcrr"><span class="token plain"></span><span class="token keyword" style="color:rgb(86, 156, 214)">const</span><span class="token plain"> nextState </span><span class="token operator" style="color:rgb(212, 212, 212)">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(220, 220, 170)">producer</span><span class="token punctuation" style="color:rgb(212, 212, 212)">(</span><span class="token plain">baseState</span><span class="token punctuation" style="color:rgb(212, 212, 212)">)</span><span class="token punctuation" style="color:rgb(212, 212, 212)">;</span><span class="token plain"></span></span></div><div class="sc-eqUAAy bHUsHq token-line" style="color:#9CDCFE"><span class="sc-fqkvVR hDImaQ">30</span><span class="sc-dcJsrY kIQcrr"><span class="token plain" style="display:inline-block">
</span></span></div></pre></div></div></main><span style="display:none">for index cache expried at 2023-05-31</span></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/limu/docs/api/basic">api</a></li></ul></div><div class="col footer__col"><div class="footer__title">社区</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/tnfe/limu/issues" target="_blank" rel="noopener noreferrer" class="footer__link-item">议题<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/limu/blog">Blog</a></li><li class="footer__item"><a class="footer__link-item" href="/limu/docs/changelog/intro">更新日志</a></li><li class="footer__item"><a href="https://github.com/tnfe/limu" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Tencent PCG TNTWeb.</div></div></div></footer></div>
<script src="/limu/assets/js/runtime~main.1fef9649.js"></script>
<script src="/limu/assets/js/main.f4ae491f.js"></script>
</body>
</html>