Javascript 只有状态的子集映射到道具时,React组件不会重新渲染
我试图弄清楚为什么子集状态会导致a react组件在子集更改时不重新渲染。这是我的密码:Javascript 只有状态的子集映射到道具时,React组件不会重新渲染,javascript,reactjs,Javascript,Reactjs,我试图弄清楚为什么子集状态会导致a react组件在子集更改时不重新渲染。这是我的密码: import React, {Component} from 'react'; import {bindActionCreators} from 'redux'; import {connect} from 'react-redux'; import {PieChart, Pie} from 'recharts'; class MyPieChart extends Component{ rend
import React, {Component} from 'react';
import {bindActionCreators} from 'redux';
import {connect} from 'react-redux';
import {PieChart, Pie} from 'recharts';
class MyPieChart extends Component{
render() {
var data = [
{name: 'var1', value: this.props.myData['var1']},
{name: 'var2', value: this.props.myData['var2']}
]
return (
<PieChart width={800} height={400}>
<Pie data={data} cx={200} cy={200} innerRadius={70} outerRadius={90} fill="#82ca9d"/>
</PieChart>
);
}
}
function mapStateToProps(state, props) {
return {
myData: state.components[props.component]
}
}
export default connect(mapStateToProps)(MyPieChart);
然后一切正常,每次我更改滑块上的值时,组件都会渲染
所以我的问题是:你能在一个组件中使用状态的子集吗,或者有没有一种方法只提供它需要的信息
在我的例子中,每次应用程序中某个位置的值发生更改时,都会重新渲染,这并不是我所猜测的最佳性能
function mapStateToProps(state, props) {
return {
myData: state.components[props.component],
state: state.components
}
}