react vaadin components
1.0.0
Предупреждение Этот проект устарел в пользу ваадина/реагированных компонентов
Обертки React, импортируемые из
@hilla/react-componentsне (по крайней мере, пока) поддерживают рендеринг на стороне сервера, но их все равно можно использовать в проекте Next.js в качестве динамического импорта с SSR отключен:import dynamic from "next/dynamic" ; export const Button = dynamic < import ( "@hilla/react-components/Button.js" ) . ButtonProps > ( ( ) => import ( "@hilla/react-components/Button.js" ) . then ( ( mod ) => mod . Button ) , { ssr : false , } ) ;Чтобы включить тему Lumo в приложении:
if ( typeof window !== "undefined" ) { ( async ( ) => { const allImports = await import ( "@vaadin/vaadin-lumo-styles/all-imports.js" ) ; const style = document . createElement ( "style" ) ; Object . values ( allImports ) . forEach ( ( css ) => { style . append ( document . createTextNode ( css . toString ( ) ) ) ; } ) ; document . head . append ( style ) ; } ) ( ) ; }
Компоненты Vaadin React - это набор реагируемых обертка для компонентов ваадина.
Обертки можно использовать на стороне сервера и могут использоваться с такими фреймворками, как Next.js и Gatsby.
Живая демонстрация (демо -источник)
Установите набор компонентов
npm i react-vaadin-componentsПосле установки импортируйте и используйте компоненты в вашем приложении React
import 'react-vaadin-components/dist/css/core.css'
...
import {
TextField ,
Button ,
Notification
} from 'react-vaadin-components' ;
...
const [ name , setName ] = useState ( "" ) ;
...
< TextField
label = "Name"
clearButtonVisible
onValueChanged = { e => setName ( e . detail . value ) } >
</ TextField >
< Button
theme = "primary"
disabled = { ! name }
onClick = { e => Notification . show ( `Hello ${ name } ` ) } >
Say Hello
< / Button>