状态
# States are read using the 'state' method, and updated using 'mutate'
# when states change they cause re-render of all dependent dom elements
class StateExample < Hyperloop::Component
state count: 0 # by default states are initialized to nil
render do
DIV do
SPAN { "Hello There" }
A { "Click Me" }.on(:click) { mutate.count(state.count + 1) }
DIV do
"You have clicked me #{state.count} #{'time'.pluralize(state.count)}"
end unless state.count == 0
end
end
end
请注意,可以使用 Hyperloop::Stores 在组件之间共享状态