Releases: alexmingoia/purescript-pux
Releases · alexmingoia/purescript-pux
11.0
9.2
9.0
- Update for PureScript 0.11
#116 - Starter app now uses Hyper instead of Express, and defaults to using purs ide for faster reloads.
- Remove redundant arrays in rendered React VDOM
- Fixed type error in devtool state serialization
#117
8.7
- Fix redundant initial render.
- Add
reactClassWithProps
for using arbitrary props with external React classes. - Add HMR support to pux-devtool.
8.3
Improved React rendering performance by caching virtual DOM returned by memoized views. This provides the same performance optimization as React's shouldComponentUpdate
.
Pux 8
This is a major upgrade and rewrite with breaking changes:
- Markup now uses purescript-smolder and
Html
has been replaced with a new
HTML
type. - Event handlers now receive the raw DOM event from purescript-dom, and Pux no
longer provides its own event types. - Type signatures for
start
,Config
,App
have changed to include a new
type parameter and different labels. - Effects in the EffModel now return
Maybe a
instead ofa
. - Rendering is no longer tied to React. Other virtual DOM renderers can be
implemented. - Added memoize function for views is provided to prevent unnecessary renders.
- Added constructor for style element and attribute which takes
CSS
from
purescript-css. - Added full isomorphic routing and rendering setup to pux-starter-app.
- Actions are now referred to as events in source code and documentation.
- The "update" function is now referred to as the "foldp" function in source
code and documentation.
See the updated guide for help upgrading to Pux 8.
v1.0.0
- The
VirtualDOM
monad has been replaced with#
operator and rebindable
do
, which enables the use of both array notation ordo
notation for
composing views. VirtualDOM
is nowHtml a
and is parameterized by the component's action
type.- One-to-one mapping between event types and React's synthetic events.
- The
Update
function no longer receives an inputSignal.Channel
. EffModel
type has changed to
{ state: state, effects: Array (Aff eff action)
, and actions are
automatically fed into the input channel.