Angular 2.0 と NGRX でアプリを開発しています。私は React/Redux から来たので、まだいくつかのことを行う方法を考えています。
テンプレート内に何かを印刷したいときは、次のように書くことができます:
@Component({
selector: 'dashboard',
directives: [MainContainer],
styleUrls: [
'./dashboard.style.css'
],
template: `
<main-container [section]="viewSection | async"></main-container>
`
})
export class Dashboard {
private viewSection: Observable<MainViewSection>;
constructor(
private store: Store<AppState>
) {
this.viewSection = this.store.let(getMainViewSection());
}
}
しかし、値が変更された後にいくつかのコードを実行したいと思います(ストアの値を入力として使用します(後でビューが変更されます))
componentWillReceiveProps
Reactでできることを知っています。
有用であることがわかった唯一のものは、次のようなものです。
export class View {
constructor(
private store: Store<AppState>
) {
this.store.select('data').subscribe((val: DataState) => {
if (!layer) {
return;
}
layer.setData(val);
});
}
}
私はそれがエレガントな方法だとは思いませんが、別の方法を理解することはできません.. 人々は私にサービスを使用するように言いました (それがこのケースにどのように適合するかわかりません) @Effects
。それが私が探しているものかどうかわかりません。
ありがとう!