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
- Protected
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(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- object Setup
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated