Ich arbeite an einer Anwendung, in der ich eine Schnittstelle mit Daten aktualisieren, die in einem Stream eingehen. Ich beginne mit dem Code, der so etwas wie dieses:Konnte nicht auf ReactJS-Komponente von außerhalb setzen React
var TempDisplay = React.createClass({
getInitialState: function() {
return {
tempFAA:0.69,
tempGGG:1.4,
temp03K:3.66,
temp60K:58.79,
rateFAA:-0.04,
rateGGG:-0.0001,
rate03K:0.45,
rate60K:1.3,
}
},
render: function() {
return(
<div>
<Temp label="60K" color="#d62728" temp={this.state.temp60K} rate={this.state.rate60K} />
<Temp label="03K" color="#2ca02c" temp={this.state.temp03K} rate={this.state.rate03K} />
<Temp label="GGG" color="#ff7f0e" temp={this.state.tempGGG} rate={this.state.rateGGG} />
<Temp label="FAA" color="#1f77b4" temp={this.state.tempFAA} rate={this.state.rateFAA} />
</div>
)
}
});
var Instrument = React.createClass({
render: function() {
return(
<div><span style={{color:this.props.color}}>{'\u25C9 '}</span>{this.props.label}</div>
)
}
});
var tempDisplay = ReactDOM.render(<TempDisplay />, document.getElementById("tempDisplay"));
Was es scheint, wie ich jetzt tempDisplay.setState()
diese Temperatur zeigt, wenn neue Daten kommt, aber tempDisplay
scheint, ist Telefonierens sollte aktualisiert werden ein <div>
Objekt, auf dem zu sein setState()
kann nicht aufgerufen werden. Wie soll ich das eigentlich machen?
was meinst du mit "wenn neue daten reinkommen" ist die einzige möglichkeit, dass sich die daten in deinem status ändern werden, wenn du sie durch neue werte ersetzt ... wo erwartest du das kommt von reagieren ist genial aber es ist nicht magisch – Maxwelll
Vielleicht ist es besser, 'setState' von' tempDisplay' nicht zu komponieren, aber Daten mit Hilfe von Requisiten dorthin zu leiten? Wenn Daten extern aktualisiert werden, müssen Sie den Komponentenstatus nicht zum Speichern verwenden. – elmeister
Wie ich oben sagte, kommen die Daten in einem Stream. Also nein, nicht andere React-Komponenten. – roboguy222