3 回答

TA貢獻1998條經(jīng)驗 獲得超6個贊
在 index.js 中更改<React.StrictMode><App /><React.StrictMode>
為<App />
,您將不會看到此警告。請注意,嚴格模式可以幫助您
識別具有不安全生命周期的組件
關于舊版字符串引用 API 使用的警告
關于不推薦使用 findDOMNode 的警告
檢測意外的副作用
檢測遺留上下文 API
刪除前請參考https://reactjs.org/docs/strict-mode.html 。

TA貢獻1866條經(jīng)驗 獲得超5個贊
如果您正在使用react-bootstrap變通方法中的 Modal 或 Carousel,則禁用動畫。關閉它們會使警告消失。
對于模態(tài):
<Modal animation={false}>
<Modal.Header closeButton>
<Modal.Title>Title</Modal.Title>
</Modal.Header>
<Modal.Body>
Content
</Modal.Body>
</Modal>
對于輪播:
<Carousel slide={false} fade={false}>
<Carousel.Item>
Scene 1
</Carousel.Item>
<Carousel.Item>
Scene 2
</Carousel.Item>
</Carousel>
我知道一旦它沒有回答 OP 問題,它會更適合作為評論,但我沒有足夠的聲譽來這樣做,也許它可以幫助某人。

TA貢獻1780條經(jīng)驗 獲得超1個贊
@Ross Allen 的響應與基本問題(警告)無關,它解決了代碼中的語法問題。
@Ali Rehman 的響應與警告更相關,但也沒有正確解決問題,它只是隱藏了問題,因此警告不再出現(xiàn)。如果我們不關心棄用,為什么不呢!
是的,問題來自 React.StrictMode:
<React.StrictMode> <App /> </React.StrictMode>
StrictMode 是一種用于突出顯示應用程序中潛在問題的工具。它為其后代激活額外的檢查和警告,例如:
識別具有不安全生命周期的組件
關于舊版字符串引用 API 使用的警告
關于不推薦使用 findDOMNode 的警告
檢測意外的副作用
檢測遺留上下文 API
由于問題中沒有完全給出錯誤回溯,我猜這個問題與關于已棄用 findDOMNode 使用的警告有關,因為引用了渲染方法中的元素:
<Modal show={this.state.show} onHide={this.handleClose}>
<Modal.Header closeButton>
<Modal.Title>Edit your Task!</Modal.Title>
</Modal.Header>
<Modal.Body >
<FormGroup >
<Form.Control
type="text"
value={this.state.editTodo.title}
onChange={this.handleChange}
/>
</FormGroup>
</Modal.Body>
<Modal.Footer>
<Button variant="secondary" onClick={this.handleClose}>
Close
</Button>
<Button variant="primary" onClick={this.handleClose}>
Save Changes
</Button>
</Modal.Footer>
</Modal>
當組件被渲染時,模態(tài)框也被渲染了,我們嘗試改變組件的狀態(tài),組件(以及模態(tài)框)會重新渲染,在這個階段模態(tài)框無法訪問狀態(tài).
解決警告的解決方案是使用React refs。Refs 有助于訪問在 render 方法中創(chuàng)建的 DOM 節(jié)點或 React 元素。
添加回答
舉報