首页 > 解决方案 > React-Redux:如何重构 mapstatetoprops 中的属性名称

问题描述

重构命令不会重命名 mapStateToProps 中的反应属性。新名称不会在所有代码位置更新。使用相关插件尝试了 Intellij 和 Vscode。

如何在此代码中将“foo”重命名为“bar”?所以“this.props.foo”上的所有用法都将命名为“this.props.bar”?(包括 PropTypes)

请进行真正的重构,而不是搜索和替换或正则表达式。

import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';

import ToDos from './view';

export class MyTodos extends React.Component {
  static propTypes = {
    foo: PropTypes.func.isRequired
  };
  render() {
    return <ToDos stuff={this.props.foo} />;
  }
}

const mapStateToProps = (state) => ({
  foo: state.myfunc
});

export default connect(mapStateToProps)(MyTodos);

标签: reactjsreact-redux

解决方案


推荐阅读