zuweisbar. Unten ist eine Rendermethode. Und ich benutze Typoskript. Ich wiederhole eine x-Anzahl, um mehrere React-Komponenten anzuzeigen.Typ ist nicht dem Typ 'IntrinsicClassAttributes <>
render() {
return (
<div className="bleed">
<ul className="list-door">
{Array(this.numberOfDoors).fill(1).map((el, i) =>
<!-- line 28 --><li key={i}><Door id={i} ref={i}
updateScoreHandler={this.props.updateScoreHandler}
gameOverHandler={this.props.gameOverHandler}/>
</li>
)}
</ul>
</div>
)
}
Der Fehler, den ich bekommen, ist über die {Array (etc.etc.} Irgendwie ist der Typ ist falsch. Wie dieses Problem beheben?
ERROR in [at-loader] ./src/components/ ListDoor.tsx: 28: 43
TS2322: Type '{ id: number; ref: number; updateScoreHandler: (door: Door) => void; gameOverHandler:() => void; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<Door> & Readonly<{ children?: ReactNode
; }> & Read...'.
Type '{ id: number; ref: number; updateScoreHandler: (door: Door) => void; gameOverHandler:() => void; }' is not assignable to type 'IntrinsicClassAttributes<Door>'.
Types of property 'ref' are incompatible.
Type 'number' is not assignable to type 'Ref<Door>'.
Tatsächlich benutze ich das ref-Attribut, um später this.refs über eine Callback-Funktion zurück zur übergeordneten Komponente zu übergeben. componentDidMount() { this.props.registerChildComponentsHandler (this.refs); } – Floris
Wie würde ref = {i.toString()} mit der Funktionsnotation aussehen? Weil ref = {i.toString()} funktioniert schon gut. – Floris