Also verwende ich eine Vanille React UI Komponentenbibliothek und MobX als Statusverwaltung in meiner App. Wenn ich ein Array als Daten beobachte und es von meiner Komponente (das ist ein mobx-react
observer
) an die Komponente der UI-Bibliothek (die Prop ist der Typ PropTypes.array
) übergeben, lehnt die Komponente es meine beobachtbare Array sagen ist ein Objekt, kein Array.Weitergabe von MobX @observable von Array zu React Component Props von PropTypes.array
// my store
class Store {
@observable data = [...];
}
// my component
@inject('store')
@observer
class MyComponent extends React.Component {
...
render() {
const {store} = this.props;
return <LibComponent data={store.data} />
}
}
// library's component
class LibComponent extends React.Component {
static propTypes = {
data: PropTypes.array,
....
}
}
Ich habe in diesem ähnlich question, über die Verwendung von toJS
von mobx lesen, aber ist es eine andere Möglichkeit, dies zu umgehen? Da ich nicht der Besitzer der UI-Bibliothek bin, kann ich PropTypes-Validierungen, die in mobx-react
Paket in dieser Frage als Antwort kommen kommen nicht hinzufügen. Reagiert die UI-Bibliothek auf Änderungen mit toJS
als Eingabe ihres Props?
Ich denke nicht anders. –