0
後未定義我有以下部件ReactJS「參考文獻」的組分「PROP」被更新
class DataEntryAndResearch extends React.Component<any, any>{
render() {
return (
<form className="task-form"
{this._possibleQuestions()[this.props.currentQuestion]}
</form>
);
}
componentDidUpdate() {
console.log(this);
console.log(this.refs.formInput);
}
_possibleQuestions() {
return ([
<div>
<FormInput
placeholder="Email"
ref="formInput"
/>
</div>
])
}
}
在上面的代碼中,所有我做的是一個在FormInput
組件內ref
("formInput"
)連接。然後我嘗試通過在componentDidUpdate
方法中輸出它來在我的控制檯內看到formInput
裁判。
問題是以下幾點。當組件第一次渲染時,this.refs.formInput
輸出預期的對象(<FormInput />
),但當this.props.currentQuestion
得到更新時,將擦除formInput
ref。每當我嘗試輸出formInput
時,它返回「undefined」我不確定發生了什麼:/
它沒有工作:( 組件渲染後的第一時間,它輸出 '{的formInput道具:對象,背景:對象,裁判:對象,更新:對象,_reactInternalInstance:ReactCompositeComponentWrapper ...} 當'currentQuestion'道具更新時,它會輸出'null' :( – viiq