Je suis l'aide de la Machine à Réagir pour un projet. La composante Principale est passée de l'état avec cette interface.
interface MainState {
todos: Todo[];
hungry: Boolean;
editorState: EditorState; //this is from Facebook's draft js
}
Toutefois, le code ci-dessous (seulement un extrait) ne compile pas.
class Main extends React.Component<MainProps, MainState> {
constructor(props) {
super(props);
this.state = { todos: [], hungry: true, editorState: EditorState.createEmpty() };
}
onChange(editorState: EditorState) {
this.setState({
editorState: editorState
});
}
}
Le compilateur se plaint de ce que, dans l' onChange
méthode où je ne suis que d'essayer de setState pour l'un des biens, la propriété, todos
et la propriété hungry
est manquant dans le type { editorState: EditorState;}
. En d'autres termes, j'ai besoin de définir l'état de tous les trois propriétés en onChange
fonction pour rendre le code compilé. Pour compiler, j'ai besoin de le faire
onChange(editorState: EditorState){
this.setState({
todos: [],
hungry: false,
editorState: editorState
});
}
mais il n'y a aucune raison de définir l' todos
et de la hungry
de la propriété à ce point dans le code. Quelle est la bonne façon de faire des appels setState sur une seule propriété en caractères d'imprimerie/réagir?