reactjs - 有谁知道如何删除这些警告?
问题描述
index.js:1 警告:不建议在严格模式下使用 UNSAFE_componentWillReceiveProps,这可能表明代码中存在错误。
将数据获取代码或副作用移动到 componentDidUpdate。
如果您在 props 更改时更新状态,请重构您的代码以使用记忆技术或将其移动到静态 getDerivedStateFromProps。请更新以下组件: FirestoreConnectWrapped(详细信息)
这是我的代码
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)
解决方案
你可以把它退出严格模式
改变这个:
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root'),
)
至:
ReactDOM.render(
<App />
document.getElementById('root'),
)
或者按照警告说的去做并修复它?要么使用新的推荐方式,要么根本不使用该功能