Server Side Rendering code for isomorphic / universal applications
Methods
A factory for creating a serialization object that has methods for serializing and deserializing JSON data in server-rendered web applications.
Parameters:
Name |
Type |
Description |
params |
object
|
parameters
Properties
Name |
Type |
Description |
id |
string
|
The id attribute of the backing application/json script. |
logWarning |
external:HostApplication.logWarning
|
A method that logs warnings; will be used when malformed JSON is found in the backing store when deserialize on the client, which should only be possible if processed in a system downstream from the origin. |
|
Returns:
Some serialization / deserialization methods
-
Type
-
module:web-toggle-point-ssr.serialization
Example
const logWarning = (warning) => console.log(warning);
const id = "app_features";
const { getScriptMarkup, getJSONFromScript } = serializationFactory({ id, logWarning });
(inner) withJsonIsomorphism(WrappedComponent, logWarning, params) → {external:React.Component}
A React Higher-Order-Component that allows serializing data during server-side rendering, via a preceding "application/json" script,
which are then realised into a prop when first hydrating on the client. It will be reactive to subsequent non-`undefined` prop values,
for that prop.
The package "browser" export includes the code to read the script, omitted from the "import" / "require" export (server package).
Parameters:
Name |
Type |
Description |
WrappedComponent |
external:React.Component
|
The React component that will receive the props. |
logWarning |
external:HostApplication.logWarning
|
a method that logs warnings; will be used when malformed JSON is found in the backing store. |
params |
object
|
parameters
Properties
Name |
Type |
Description |
scriptId |
string
|
The id attribute of the backing application/json script. |
propName |
string
|
The name of the prop to inject into the wrapped React component. |
|
Returns:
Wrapped react component.
-
Type
-
external:React.Component
Example
const logWarning = (warning) => console.log(warning);
const scriptId = "app_features";
const propName = "features";
export default withJsonIsomorphism(MyReactComponent, logWarning, { scriptId, propName });
Type Definitions
getJSONFromScript() → {object}
Returns:
The JSON content of the script element.
-
Type
-
object
getScriptMarkup(params)
Parameters:
Name |
Type |
Description |
params |
object
|
parameters
Properties
Name |
Type |
Description |
content |
object
|
The JSON content to be serialized. |
|
getScriptReactElement(params)
Parameters:
Name |
Type |
Description |
params |
object
|
parameters
Properties
Name |
Type |
Description |
content |
object
|
The JSON content to be serialized. |
|
serialization
An object containing methods for serializing and deserializing JSON data in server-rendered web applications.
Type:
Properties: