mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-22 17:47:53 +00:00
29 lines
1.0 KiB
TypeScript
29 lines
1.0 KiB
TypeScript
import * as React from 'react';
|
|
import { Link } from 'react-router';
|
|
import { connect } from 'react-redux';
|
|
import { ApplicationState } from '../store';
|
|
import * as CounterStore from '../store/Counter';
|
|
import * as WeatherForecasts from '../store/WeatherForecasts';
|
|
|
|
type CounterProps = CounterStore.CounterState & typeof CounterStore.actionCreators;
|
|
|
|
class Counter extends React.Component<CounterProps, void> {
|
|
public render() {
|
|
return <div>
|
|
<h1>Counter</h1>
|
|
|
|
<p>This is a simple example of a React component.</p>
|
|
|
|
<p>Current count: <strong>{ this.props.count }</strong></p>
|
|
|
|
<button onClick={ () => { this.props.increment() } }>Increment</button>
|
|
</div>;
|
|
}
|
|
}
|
|
|
|
// Wire up the React component to the Redux store
|
|
export default connect(
|
|
(state: ApplicationState) => state.counter, // Selects which state properties are merged into the component's props
|
|
CounterStore.actionCreators // Selects which action creators are merged into the component's props
|
|
)(Counter);
|