reason-react
Advanced tools
Comparing version 0.1.4 to 0.1.5
@@ -0,1 +1,17 @@ | ||
# 0.1.5 | ||
Non-breaking update. Works better with bs-platform >=1.8.0 (currently unreleased), which comes with the following ReasonReact JSX fixes: | ||
- JSX ppx now recursively transforms component's props. | ||
- JSX ppx now reports the correct location for some errors. | ||
- JSX ppx now correctly transforms some corner case with ref and key (`ref=?foo`). | ||
Our own release contains the following improvements: | ||
- Adjust ReactDOMRe's `props` and `style` to include more accurate DOM and style attributes and styles (#9, #15, #17). | ||
- Add `ReactDOMRe.Style.unsafeAddProp` to unsafely add a prop to an existing `style`. Make sure you know what you're doing! | ||
- Fix `reactRef`'s type in various locations. A React ref is actually always nullable; we've previously only acknowledged it for DOM ref, now we do for custom (composite) components ref too. A more detailed explanation is [here](https://github.com/facebook/react/issues/9328#issuecomment-298438237). This is documented in our docs in the ref section as well. | ||
- Add `cloneElement` (solves adding otherwise invalid keys like aria-label and data-foo). | ||
- Add `shouldUpdate`. | ||
# 0.1.4 | ||
@@ -36,3 +52,3 @@ Major update! Though this is 100% backward compatible, so no major version bump. We've revamped the whole API based on all you awesome folks' feedback, and we've provided a gradual migration path. | ||
**Before starting the sections below**, please look at the TODO overview of the new API. | ||
**Before starting the sections below**, please briefly go through the new API on the documentation page. | ||
@@ -45,6 +61,6 @@ ## `Foo.createElement` (Jargon Change) | ||
## `componentBag` | ||
The concept of `componentBag` is now called `self`. We thought it'd be a more appropriate name. The new `self` doesn't contain `props`, `state`, `setState` and `instanceVars` anymore; these are no longer needed in the new reason-react. | ||
The concept of `componentBag` is now called `self`. We thought it'd be a more appropriate name. The new `self` doesn't contain `props`, `state`, `setState` and `instanceVars` anymore; these are no longer needed in the new ReasonReact. | ||
### `componentBag.props` | ||
Replaced with the new `make` (previously `createElement`) call which takes in labeled arguments. See more in [TODO] this section. | ||
Replaced with the new `make` (previously `createElement`) call which takes in labeled arguments. See more in [this section](https://reasonml.github.io/reason-react/#reason-react-component-creation-props). | ||
@@ -57,3 +73,3 @@ How to access `props` in the `update`/`handle` callbacks now? You'd move these callback definitions into the `make` function body. | ||
### `componentBag.instanceVars` | ||
No longer needed. In ReactJS, attaching instance variables onto a component has always been a sly way of introducing 1. mutative state that 2. doesn't trigger re-render. This whole concept is now replaced by putting your value into `state` and using TODO `ReasonReact.SilentUpdate` (doesn't trigger re-render, but does update state) in callbacks & lifecycles. | ||
No longer needed. In ReactJS, attaching instance variables onto a component has always been a sly way of introducing 1. mutative state that 2. doesn't trigger re-render. This whole concept is now replaced by putting your value into `state` and using [`ReasonReact.SilentUpdate`](https://reasonml.github.io/reason-react/#reason-react-component-creation-callback-handlers) (doesn't trigger re-render, but does update state) in callbacks & lifecycles. | ||
@@ -73,3 +89,3 @@ ### `componentBag.setState` | ||
## Render | ||
`render`, previously in your component module, is now inside `make`. See the example TODO here. | ||
`render`, previously in your component module, is now inside `make`. See the example [here](https://reasonml.github.io/reason-react/#reason-react-intro-examples). | ||
@@ -81,6 +97,6 @@ ## Ref & Other Mutable Instance Variables | ||
We've decided to finally drop the `component` prefix to lifecycle methods! `componentDidMount` is now just called `didMount`, etc. The signatures changed slightly; see them TODO here. | ||
We've decided to finally drop the `component` prefix to lifecycle methods! `componentDidMount` is now just called `didMount`, etc. The signatures changed slightly; see them in the new [lifecycle events section](https://reasonml.github.io/reason-react/#reason-react-component-creation-lifecycle-events). | ||
## Children | ||
The children helpers & types `reactJsChildren`, `listToElement` and `jsChildrenToReason` are all gone from `ReasonReact`, since we now use array instead of list. See the new TODO docs on children for more info. | ||
The children helpers & types `reactJsChildren`, `listToElement` and `jsChildrenToReason` are all gone from `ReasonReact`, since we now use array instead of list. | ||
@@ -87,0 +103,0 @@ ## New Reason <-> JS Interop |
{ | ||
"name": "reason-react", | ||
"version": "0.1.4", | ||
"version": "0.1.5", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
1
442984
36
3041