Я разработал следующий класс.
export default class DataView extends React.Component {
private message = "---";
private url = ...;
private body = { ... };
private headers = { ... };
constructor(props: any) {
super(props);
this.message = "executing...";
ajax.post(this.url, this.body, this.headers)
.subscribe(
result => {
this.message = "code " + result.status;
console.log(result.status);
},
error => {
this.message = "Problem: " + error.status;
console.log("Problem: " + error.status)
});
}
render() {
return (
<div style={divStyle}>
Message: {this.message}
</div>);
}
}
Ожидалось, что исходная строка будет заменена исходным сообщением (что происходит), а затем результатом вызова (что не происходит).Я новичок в React и не уверен, что здесь не так.Этот подход я использую в Angular, но, конечно, в React все немного по-другому.
Сам вызов успешен, и я вижу правильные результаты в консоли.Это только связь между переменной класса и отображаемым значением, которая устарела.Мне сказали, что рендеринг выполняется автоматически, и я не должен сам вызывать render () .