mirror of
https://github.com/centau/vide.git
synced 2026-08-20 14:41:37 +00:00
Update docs
This commit is contained in:
parent
f2de9b0e63
commit
62f1c3a20a
16 changed files with 86 additions and 347 deletions
35
docs/tut/crash-course/13-strict-mode.md
Normal file
35
docs/tut/crash-course/13-strict-mode.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# Strict Mode
|
||||
|
||||
While developing UI with Vide, you should use Vide's strict mode, which can
|
||||
be set with `vide.strict = true` once when you first require Vide. Strict mode
|
||||
will add extra safety checks and emit better error traces, particularly when
|
||||
errors occur in property bindings.
|
||||
|
||||
Strict mode is automatically enabled when Vide is required in O0 or O1
|
||||
optimization (default studio level). You can `vide.strict = false` if you do not
|
||||
want this.
|
||||
|
||||
Strict mode will run derived sources and effects twice each time they update.
|
||||
This is to help ensure that derived source computations are pure, and that any
|
||||
cleanups made in derived sources or effects are done properly.
|
||||
|
||||
```lua
|
||||
local source = vide.source
|
||||
local effect = vide.effect
|
||||
|
||||
vide.strict = true
|
||||
|
||||
local count = source(0)
|
||||
|
||||
local ran = 0
|
||||
effect(function()
|
||||
ran += 1
|
||||
end)
|
||||
|
||||
print(ran) -- 2
|
||||
count(1)
|
||||
print(ran) -- 4
|
||||
```
|
||||
|
||||
A full list of what strict mode will do can be found
|
||||
[here](../../api/strict-mode).
|
||||
Loading…
Add table
Add a link
Reference in a new issue