More idiomatic project setup
This commit is contained in:
parent
625fd8dd06
commit
58cdd3038f
7 changed files with 22 additions and 17 deletions
49
app/app.tsx
49
app/app.tsx
|
|
@ -1,49 +0,0 @@
|
|||
/// <reference path="../typings/tsd.d.ts" />
|
||||
|
||||
import React = require('react');
|
||||
import ReactDOM = require('react-dom');
|
||||
import {observable} from 'mobservable';
|
||||
import {observer} from 'mobservable-react';
|
||||
|
||||
class DemoProps {
|
||||
public name: string;
|
||||
}
|
||||
|
||||
class Demo extends React.Component<DemoProps, any> {
|
||||
constructor(props: DemoProps) {
|
||||
super(props);
|
||||
}
|
||||
render() {
|
||||
return (
|
||||
<div>
|
||||
<div>Hello {this.props.name}!</div>
|
||||
<Timer/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var timerState = observable({
|
||||
secondsPassed: 0
|
||||
});
|
||||
|
||||
setInterval(() => timerState.secondsPassed++, 1000);
|
||||
|
||||
@observer
|
||||
class Timer extends React.Component<{}, {}> {
|
||||
render() {
|
||||
return (
|
||||
<span>Seconds passed: {timerState.secondsPassed}</span>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
function render() {
|
||||
ReactDOM.render(
|
||||
<Demo name="World" />,
|
||||
document.getElementById('app')
|
||||
);
|
||||
}
|
||||
|
||||
render();
|
||||
Loading…
Add table
Add a link
Reference in a new issue