You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -98,9 +100,6 @@ Preact supports modern browsers and IE9+:
98
100
-:thought_balloon:[**preact-socrates**](https://github.com/matthewmueller/preact-socrates): Preact plugin for [Socrates](http://github.com/matthewmueller/socrates)
99
101
-:rowboat:[**preact-flyd**](https://github.com/xialvjun/preact-flyd): Use [flyd](https://github.com/paldepind/flyd) FRP streams in Preact + JSX
100
102
-:speech_balloon:[**preact-i18nline**](https://github.com/download/preact-i18nline): Integrates the ecosystem around [i18n-js](https://github.com/everydayhero/i18n-js) with Preact via [i18nline](https://github.com/download/i18nline).
101
-
-:metal:[**preact-mui**](https://git.io/v1aVO): The MUI CSS Preact library.
102
-
-:white_square_button:[**preact-mdl**](https://git.io/preact-mdl): Use [MDL](https://getmdl.io) as Preact components
103
-
-:rocket:[**preact-photon**](https://git.io/preact-photon): build beautiful desktop UI with [photon](http://photonkit.com)
104
103
-:microscope:[**preact-jsx-chai**](https://git.io/preact-jsx-chai): JSX assertion testing _(no DOM, right in Node)_
105
104
-:tophat:[**preact-classless-component**](https://github.com/ld0rman/preact-classless-component): create preact components without the class keyword
106
105
-:hammer:[**preact-hyperscript**](https://github.com/queckezz/preact-hyperscript): Hyperscript-like syntax for creating elements
@@ -109,6 +108,17 @@ Preact supports modern browsers and IE9+:
109
108
-:construction_worker:[**preact-helmet**](https://github.com/download/preact-helmet): A document head manager for Preact
110
109
-:necktie:[**preact-delegate**](https://github.com/NekR/preact-delegate): Delegate DOM events
111
110
111
+
#### UI Component Libraries
112
+
113
+
> Want to prototype something or speed up your development? Try one of these toolkits:
114
+
115
+
-[**preact-material-components**](https://github.com/prateekbh/preact-material-components): Material Design Components for Preact ([website](https://prateekbh.github.io/preact-material-components/))
116
+
-[**preact-mdc**](https://github.com/BerndWessels/preact-mdc): Material Design Components for Preact ([demo](https://github.com/BerndWessels/preact-mdc-demo))
117
+
-[**preact-mui**](https://git.io/v1aVO): The MUI CSS Preact library.
118
+
-[**preact-photon**](https://git.io/preact-photon): build beautiful desktop UI with [photon](http://photonkit.com)
119
+
-[**preact-mdl**](https://git.io/preact-mdl): [Material Design Lite](https://getmdl.io) for Preact
120
+
121
+
112
122
---
113
123
114
124
## Getting Started
@@ -294,18 +304,23 @@ class Foo extends Component {
294
304
295
305
While this achieves much better runtime performance, it's still a lot of unnecessary code to wire up state to UI.
296
306
297
-
Fortunately there is a solution, in the form of `linkState()`. Calling `component.linkState('text')` returns a function that accepts an Event and uses it's associated value to update the given property in your component's state. Calls to linkState() with the same state property are cached, so there is no performance penalty. Here is the previous example rewritten using _Linked State_:
307
+
Fortunately there is a solution, in the form of a module called [linkstate](https://github.com/developit/linkstate). Calling `linkState(component, 'text')` returns a function that accepts an Event and uses it's associated value to update the given property in your component's state. Calls to `linkState()` with the same arguments are cached, so there is no performance penalty. Here is the previous example rewritten using _Linked State_:
Simple and effective. It handles linking state from any input type, or an optional second parameter can be used to explicitly provide a keypath to the new state value.
308
320
321
+
> **Note:** In Preact 7 and prior, `linkState()` was built right into Component. In 8.0, it was moved to a separate module. You can restore the 7.x behavior by using linkstate as a polyfill - see [the linkstate docs](https://github.com/developit/linkstate#usage).
0 commit comments