1.1.0 • Published 6 years ago

oly-react v1.1.0

Weekly downloads
90
License
MIT
Repository
github
Last release
6 years ago

oly react

Create an app with React and oly.

oly react is a module of the oly project.

import { Kernel } from "oly";
import { page, ReactServerProvider } from "oly-react";
import * as React from "react";

class ReactApp {

  @page
  index() {
    return <h1>Hello World</h1>
  }
}

Kernel
  .create({HTTP_SERVER_PORT: 5000})
  .with(ReactApp, ReactServerProvider)
  .start()
  .catch(console.error);

Installation

$ npm install oly oly-react react @types/react react-dom

Features

@inject/@env/@on with React

import { inject, Kernel } from "oly";
import { AppContext } from "oly-react";
import * as React from "react";
import { render } from "react-dom";

class App extends React.Component {
  @inject kernel: Kernel;

  render() {
    return <h1>{this.kernel.id}</h1>
  }
}

const kernel = Kernel.create();
render(
  <AppContext kernel={kernel}><App/></AppContext>,
  document.getElementById("app"));

Router

import { layout, View, page, Go } from "oly-react";

class App {
  @layout root() {
    return <div>
      <Go to="/">Home</Go>
      <Go to="about">About</Go>
      <View/>
    </div>
  }
  
  @page("/") index() {
    return <h1>Home!</h1>
  }
  
  @page("/a") about() {
    return <h1>About!</h1>
  }
}

Server Side Rendering

// app.tsx
import { page } from "oly-react";

class App {
  @page home() {
    return <div>Hi</div>
  }
}

// main.browser.ts
import { Kernel } from "oly";
import { ReactBrowserProvider } from "oly-react";

Kernel
  .create()
  .with(App, ReactBrowserProvider)
  .start()
  .catch(console.error)
  
  
// main.server.ts
import { Kernel } from "oly";
import { ReactServerProvider } from "oly-react";

Kernel
  .create({REACT_SERVER_POINTS: ["www"]}) // webpack build directory
  .with(App, ReactServerProvider)
  .start()
  .catch(console.error)

Dependencies

Routingpath-to-regexp
Historyhistory
Metareact-helmet
1.1.0

6 years ago

1.0.0

6 years ago

0.15.1

7 years ago

0.15.0

7 years ago

0.14.4

7 years ago

0.14.3

7 years ago

0.14.2

7 years ago

0.14.1

7 years ago

0.14.0

7 years ago

0.13.0

7 years ago

0.12.15

7 years ago

0.12.14

7 years ago

0.12.13

7 years ago

0.12.12

7 years ago

0.12.11

7 years ago

0.12.10

7 years ago

0.12.9

7 years ago

0.12.8

7 years ago

0.12.7

7 years ago

0.12.6

7 years ago

0.12.5

7 years ago

0.12.4

7 years ago

0.12.3

7 years ago

0.12.2

7 years ago

0.12.1

7 years ago

0.11.4

7 years ago

0.11.3

7 years ago

0.11.2

7 years ago

0.11.1

7 years ago

0.11.0

7 years ago

0.10.4

7 years ago

0.10.3

7 years ago

0.10.2

7 years ago

0.10.1

7 years ago

0.10.0

7 years ago

0.9.3

7 years ago

0.9.2

7 years ago

0.9.1

7 years ago

0.9.0

7 years ago

0.8.12

7 years ago

0.8.11

7 years ago

0.8.10

7 years ago

0.8.9

7 years ago

0.8.8

7 years ago

0.8.7

7 years ago

0.8.6

7 years ago

0.8.5

7 years ago

0.8.4

7 years ago

0.8.3

7 years ago

0.8.2

7 years ago

0.8.1

7 years ago

0.8.0

7 years ago

0.7.7

7 years ago

0.7.6

7 years ago

0.7.5

7 years ago

0.7.4

7 years ago

0.7.3

7 years ago

0.7.0

7 years ago

0.6.5

7 years ago

0.6.4

7 years ago

0.6.2

7 years ago

0.6.1

7 years ago

0.6.0

7 years ago

0.5.2

7 years ago

0.5.1

7 years ago

0.5.0

7 years ago

0.4.6

7 years ago

0.4.5

7 years ago

0.4.4

7 years ago

0.4.3

7 years ago

0.4.2

7 years ago

0.4.1

7 years ago

0.4.0

7 years ago

0.3.2

7 years ago

0.3.1

7 years ago

0.3.0

7 years ago

0.2.8

7 years ago

0.2.7

7 years ago

0.2.6

7 years ago

0.2.5

7 years ago

0.2.4

7 years ago

0.2.3

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago