diff --git a/content/blog/2018-09-10-introducing-the-react-profiler.md b/content/blog/2018-09-10-introducing-the-react-profiler.md index 725a22076..7cb439e1f 100644 --- a/content/blog/2018-09-10-introducing-the-react-profiler.md +++ b/content/blog/2018-09-10-introducing-the-react-profiler.md @@ -140,7 +140,7 @@ It also shows that each time it rendered, it was the most "expensive" component To view this chart, either double-click on a component _or_ select a component and click on the blue bar chart icon in the right detail pane. You can return to the previous chart by clicking the "x" button in the right detail pane. -You can aso double click on a particular bar to view more information about that commit. +You can also double click on a particular bar to view more information about that commit. ![How to view all renders for a specific component](../images/blog/introducing-the-react-profiler/see-all-commits-for-a-fiber.gif) diff --git a/content/community/conferences.md b/content/community/conferences.md index c10cdb607..62ac39b40 100644 --- a/content/community/conferences.md +++ b/content/community/conferences.md @@ -36,11 +36,21 @@ May 23-24, 2019 in Paris, France [Website](https://www.react-europe.org) - [Twitter](https://twitter.com/ReactEurope) - [Facebook](https://www.facebook.com/ReactEurope) - [Videos](https://www.youtube.com/c/ReacteuropeOrgConf) +### React Conf Armenia 2019 {#react-conf-am-19} +May 25, 2019 in Yerevan, Armenia + +[Website](https://reactconf.am/) - [Twitter](https://twitter.com/ReactConfAM) - [Facebook](https://www.facebook.com/reactconf.am/) - [YouTube](https://www.youtube.com/c/JavaScriptConferenceArmenia) - [CFP](http://bit.ly/speakReact) + ### React Norway 2019 {#react-norway-2019} June 12, 2019. Larvik, Norway [Website](https://reactnorway.com) - [Twitter](https://twitter.com/ReactNorway) +### React Loop 2019 {#react-loop-2019} +June 21, 2019 Chicago, Illinois USA + +[Website](https://reactloop.com) - [Twitter](https://twitter.com/ReactLoop) + ### ComponentsConf 2019 {#componentsconf-2019} September 6, 2019 in Melbourne, Australia [Website](https://www.componentsconf.com.au/) - [Twitter](https://twitter.com/componentsconf) diff --git a/content/docs/hooks-faq.md b/content/docs/hooks-faq.md index 75108506e..25e00c2ef 100644 --- a/content/docs/hooks-faq.md +++ b/content/docs/hooks-faq.md @@ -466,7 +466,7 @@ Note that this approach won't work in a loop because Hook calls [can't](/docs/ho ### How to create expensive objects lazily? {#how-to-create-expensive-objects-lazily} -`useMemo` lets you [memoize an expensive calculation](#how-to-memoize-calculations) if the inputs are the same. However, it only serves as a hint, and doesn't *guarantee* the computation won't re-run. But sometimes need to be sure an object is only created once. +`useMemo` lets you [memoize an expensive calculation](#how-to-memoize-calculations) if the inputs are the same. However, it only serves as a hint, and doesn't *guarantee* the computation won't re-run. But sometimes you need to be sure an object is only created once. **The first common use case is when creating the initial state is expensive:** @@ -560,7 +560,7 @@ In large component trees, an alternative we recommend is to pass down a `dispatc const TodosDispatch = React.createContext(null); function TodosApp() { - // Tip: `dispatch` won't change between re-renders + // Note: `dispatch` won't change between re-renders const [todos, dispatch] = useReducer(todosReducer); return ( diff --git a/content/docs/strict-mode.md b/content/docs/strict-mode.md index 8d2752b35..e803a32d4 100644 --- a/content/docs/strict-mode.md +++ b/content/docs/strict-mode.md @@ -57,7 +57,7 @@ React used to support `findDOMNode` to search the tree for a DOM node given a cl `findDOMNode` can also be used on class components but this was breaking abstraction levels by allowing a parent to demand that certain children was rendered. It creates a refactoring hazard where you can't change the implementation details of a component because a parent might be reaching into its DOM node. `findDOMNode` only returns the first child, but with the use of Fragments, it is possible for a component to render multiple DOM nodes. `findDOMNode` is a one time read API. It only gave you an answer when you asked for it. If a child component renders a different node, there is no way to handle this change. Therefore `findDOMNode` only worked if components always return a single DOM node that never changes. -You can instead make this explicit by pass a ref to your custom component and pass that along to the DOM using [ref forwarding](/docs/forwarding-refs.html#forwarding-refs-to-dom-components). +You can instead make this explicit by passing a ref to your custom component and pass that along to the DOM using [ref forwarding](/docs/forwarding-refs.html#forwarding-refs-to-dom-components). You can also add a wrapper DOM node in your component and attach a ref directly to it.