【问题标题】:does anyone know how to remove these warnings?有谁知道如何删除这些警告?
【发布时间】:2020-10-04 22:20:37
【问题描述】:

index.js:1 警告:不建议在严格模式下使用 UNSAFE_componentWillReceiveProps,这可能表明您的代码中存在错误。

  • 将数据获取代码或副作用移至 componentDidUpdate。

  • 如果您在 props 更改时更新状态,请重构您的代码以使用记忆技术或将其移至静态 getDerivedStateFromProps。 请更新以下组件:FirestoreConnectWrapped(Details)

这是我的代码

import React from 'react';
import {Card } from 'react-bootstrap';
import {connect} from 'react-redux';
import {firestoreConnect} from 'react-redux-firebase';
import {compose} from 'redux';

const Details =(props)=>{
   const {project} =props;
   if(project){
    return(
        <div className="container">
            <br/>
        <Card>
  <Card.Body>
  <Card.Title>{project.Title}</Card.Title>
    <blockquote className="blockquote mb-0">

      <p>
      {project.content}
      </p>
    </blockquote>

  <Card.Text>
        <small className="text-muted">Last updated 3 mins ago</small>
      </Card.Text>
      </Card.Body>
</Card>
</div>
    )
   }
   else{
     return (
       <div className="container">
         Loading project......
       </div>
     )
   }
}

const mapStateToProps =(state,ownProps)=>{
  const id=ownProps.match.params.id;
  const projects =state.firestore.data.projects;
  const project =projects ? projects\[id\] :null 
  return {
    project :project 
  }
}

export default compose(
  connect(mapStateToProps),

  firestoreConnect(props=>\[
    {collection:'projects',doc:props.match.params.id}
  \])
)(Details)

【问题讨论】:

  • 找到解决方案了吗?

标签: reactjs


【解决方案1】:

你可以把它退出严格模式

改变这个:

ReactDOM.render(
    <React.StrictMode>
        <App />
    </React.StrictMode>,
    document.getElementById('root'),
)

到:

ReactDOM.render(
        <App />
    document.getElementById('root'),
)

或者按照警告中的说明进行操作并修复它?要么使用新的推荐方式,要么根本不使用该功能

【讨论】:

  • 您知道如何修复警告吗?而不是取出 StrictMode
  • 要么你在代码中的某处使用UNSAFE_componentWillReceiveProps,要么你使用的包使用它,所以让我知道它是什么
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-01
  • 2017-10-03
  • 2019-06-15
  • 2017-06-17
  • 2017-05-14
  • 2020-03-14
  • 1970-01-01
相关资源
最近更新 更多