第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

警告:在 StrictMode 中不推薦使用 findDOMNode。findDOMNode

警告:在 StrictMode 中不推薦使用 findDOMNode。findDOMNode

青春有我 2022-06-05 17:05:47
我正在嘗試將函數(shù)用作組件內(nèi)的道具,并且該組件是另一個組件的子組件。但該功能不起作用。?我能知道為什么嗎。這是我在控制臺中收到的警告。警告:在 StrictMode 中不推薦使用 findDOMNode。findDOMNode 被傳遞了一個在 StrictMode 中的 Transition 實例。相反,將 ref 直接添加到要引用的元素這是我的代碼class Todo extends Component {  state = {    show: false,    editTodo: {      id: "",      title: "",      isCompleted: false    }  }  handleClose = () => {    this.setState({ show: false })  }  handleShow = () => {    this.setState({ show: true })  }  getStyle () {    return {      background: '#f4f4f4',      padding: '10px',      borderBottom: '1px #ccc dotted',      textDecoration: this.props.todo.isCompleted ? 'line-through'        : 'none'    }  }  //this method checks for changes in the edit field  handleChange = (event) => {    this.setState({ title: event.target.value })    console.log(this.state.editTodo.title);  }  render () {    //destructuring    const { id, title } = this.props.todo;    return (      <div style={this.getStyle()}>        <p>          <input type='checkbox' style={{ margin: "0px 20px" }} onChange={this.props.markComplete.bind(this, id)} /> {''}          {title}          <Button style={{ float: "right", margin: "0px 10px" }} variant="warning" size={"sm"} onClick={this.handleShow}>Edit</Button>{' '}          <Button style={{ float: "right" }} variant="danger" size={"sm"} onClick={this.props.DelItem.bind(this, id)}>Delete</Button>        </p>        <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>
查看完整描述

3 回答

?
米琪卡哇伊

TA貢獻1998條經(jīng)驗 獲得超6個贊

在 index.js 中更改<React.StrictMode><App /><React.StrictMode><App />,您將不會看到此警告。請注意,嚴格模式可以幫助您

  • 識別具有不安全生命周期的組件

  • 關于舊版字符串引用 API 使用的警告

  • 關于不推薦使用 findDOMNode 的警告

  • 檢測意外的副作用

  • 檢測遺留上下文 API

刪除前請參考https://reactjs.org/docs/strict-mode.html 。


查看完整回答
反對 回復 2022-06-05
?
心有法竹

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 問題,它會更適合作為評論,但我沒有足夠的聲譽來這樣做,也許它可以幫助某人。


查看完整回答
反對 回復 2022-06-05
?
慕神8447489

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 元素。


查看完整回答
反對 回復 2022-06-05
  • 3 回答
  • 0 關注
  • 237 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號