外部化各种react组件中的常用功能

IT技术 javascript reactjs
2021-05-02 03:55:42

在不同的components地方,我在样式或其他方面使用相同的功能。其中一些函数使用this.setState({...});我想将所有这些函数收集在一个公共位置,因此在重写它们时我不必在所有组件中重写它们,而只需在一个文件上重写它们。但是,我不知道如何this.setState({...});在不丢失上下文的情况下编写函数。有办法吗?

1个回答

我假设您的意思是导出一个函数并在各个组件中调用该函数,同时保留 this

MyExportedFunctions.js:

export function handleChange(value, {target: {name, type}}) {
    this.setState({[name]: value}, () => console.log(this.state));
}

我的组件.js:

  import {handleChange} from "./MyExportedFunctions";

        class MyComponent extends Component {
            constructor(props) {
                super(props);
                this.handleChange = handleChange.bind(this);

                this.state = {

                };
            }
            ...
     }

你的意思是这样的吗?