param
Overview
param allow using runtime values from the view/producer to create new paths.
Occasionally, a producer or view need to access a path in state, which
depends on a value which is created in the producer itself. param is the
path-composition operator to use in such
situations.
For example, update.* functions can be given an object in their second
argument. Every key in this object can then be referred to with param.<key> in
the header
Example
const App: view = ({
update = update.items[param.foo][param.bar]
}) => (
<input onChange={e => update(e.target.value,
{ foo: 'state_path', bar: 'yet_another_state_path' }
)}>
);
It allows moving a lot of complexity of accessing and setting of state, to the path structure; without needing any intermediate state in the view/producer itself.