1.1.0 • Published 7 years ago

oly-react v1.1.0

Weekly downloads
90
License
MIT
Repository
github
Last release
7 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

7 years ago

1.0.0

7 years ago

0.15.1

8 years ago

0.15.0

8 years ago

0.14.4

8 years ago

0.14.3

8 years ago

0.14.2

8 years ago

0.14.1

8 years ago

0.14.0

8 years ago

0.13.0

8 years ago

0.12.15

8 years ago

0.12.14

8 years ago

0.12.13

8 years ago

0.12.12

8 years ago

0.12.11

8 years ago

0.12.10

8 years ago

0.12.9

8 years ago

0.12.8

8 years ago

0.12.7

8 years ago

0.12.6

8 years ago

0.12.5

8 years ago

0.12.4

8 years ago

0.12.3

8 years ago

0.12.2

8 years ago

0.12.1

8 years ago

0.11.4

8 years ago

0.11.3

8 years ago

0.11.2

8 years ago

0.11.1

8 years ago

0.11.0

8 years ago

0.10.4

8 years ago

0.10.3

8 years ago

0.10.2

8 years ago

0.10.1

8 years ago

0.10.0

8 years ago

0.9.3

8 years ago

0.9.2

8 years ago

0.9.1

8 years ago

0.9.0

8 years ago

0.8.12

8 years ago

0.8.11

8 years ago

0.8.10

8 years ago

0.8.9

8 years ago

0.8.8

8 years ago

0.8.7

8 years ago

0.8.6

8 years ago

0.8.5

8 years ago

0.8.4

8 years ago

0.8.3

8 years ago

0.8.2

8 years ago

0.8.1

8 years ago

0.8.0

8 years ago

0.7.7

8 years ago

0.7.6

8 years ago

0.7.5

8 years ago

0.7.4

8 years ago

0.7.3

8 years ago

0.7.0

8 years ago

0.6.5

8 years ago

0.6.4

8 years ago

0.6.2

8 years ago

0.6.1

8 years ago

0.6.0

8 years ago

0.5.2

8 years ago

0.5.1

8 years ago

0.5.0

9 years ago

0.4.6

9 years ago

0.4.5

9 years ago

0.4.4

9 years ago

0.4.3

9 years ago

0.4.2

9 years ago

0.4.1

9 years ago

0.4.0

9 years ago

0.3.2

9 years ago

0.3.1

9 years ago

0.3.0

9 years ago

0.2.8

9 years ago

0.2.7

9 years ago

0.2.6

9 years ago

0.2.5

9 years ago

0.2.4

9 years ago

0.2.3

9 years ago

0.2.2

9 years ago

0.2.1

9 years ago