-
Notifications
You must be signed in to change notification settings - Fork 17
General design
The general approach being proposed is that components will be declared by the developer, followed by some element of code generation to do the grunt work of helper-method generation etc. More details to follow
See the wiki for code generator design
Whether to automatically PureRender for components whose corresponding state and props values are comparable
Assuming there is some conclusion to https://github.com/gopherjs/gopherjs/issues/236, we can do away with the existing helper-functions, e.g. PProps, rename the types, e.g. PPropsDef -> PProps, and use the types directly:
x := P(&PProps{ClassName: "wide"}, ...)For usability reasons, this however means we need to move away from the embedding of, for example *react.BasicHTMLElement, to explicit definition of fields:
type PProps struct {
o *js.Object
Id string `js:"id"`
Key string `js:"key"`
ClassName string `js:"className"`
// ...
}This will clearly require some sort of code generation based on some higher-order definition of the props for each component.
Follow up with neelance about a different API for the gopherjs/react package that unifies state and props