object ReactSsr
Instructions for basic React SSR on the GraalVM:
1. Bundle React JS into your application yourself. 2. Use Expr.requireFileOnClasspath() to load React JS files. 3. Provide the above Exprs to ReactSsr.Setup.apply(). 4. Run the resulting Expr of above to initialise your AbstractGraalContext instance(s). 5. Optionally call ReactSsr.setUrl() if your component expects to read it (eg. has a router). 6. Call ReactSsr.renderToString() or ReactSsr.renderToStaticMarkup() to render a component.
See ScalaGraal's tests for concrete usage examples.
- Alphabetic
- By Inheritance
- ReactSsr
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
renderToStaticMarkup(expr: String): Expr[String]
Similar to renderToString, except this doesn’t create extra DOM attributes that React uses internally, such as data-reactroot.
Similar to renderToString, except this doesn’t create extra DOM attributes that React uses internally, such as data-reactroot. This is useful if you want to use React as a simple static page generator, as stripping away the extra attributes can save some bytes.
If you plan to use React on the client to make the markup interactive, do not use this method. Instead, use renderToString on the server and ReactDOM.hydrate() on the client.
- expr
A JS expression determining what to render.
- returns
An Expr that evaluates to a String of HTML.
-
def
renderToString(expr: String): Expr[String]
Render a React element to its initial HTML.
Render a React element to its initial HTML. React will return an HTML string. You can use this method to generate HTML on the server and send the markup down on the initial request for faster page loads and to allow search engines to crawl your pages for SEO purposes.
If you call ReactDOM.hydrate() on a node that already has this server-rendered markup, React will preserve it and only attach event handlers, allowing you to have a very performant first-load experience.
- expr
A JS expression determining what to render.
- returns
An Expr that evaluates to a String of HTML.
-
def
setUrl(url: String): Expr[Unit]
Sets
window.location
to an object representing the given URL.Sets
window.location
to an object representing the given URL.This is helpful but a better practice is to call WindowLocation.parse() and handle the None case yourself.
- val setUserAgent: (String) ⇒ Expr[Unit]
- val setWindowLocation: (WindowLocation) ⇒ Expr[Unit]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- object Setup
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.