我想从react.Js中的另一个类调用函数,我成功地做到了。我的问题是我得到错误:你必须传递一个组件到连接返回的函数。而不是收到{"refs"{},"updater": {}}如果我用react-redux。下面是算法
的一个基本示例import { Component } from "react";
import { GetCityListFromActiveAddressSource } from '../Services/AddressService'
import { connect } from 'react-redux';
class FirstClass extends Component{
constructor(props){
super(props);
}
TestFunction(){
alert("test");
}
render(){
return null
}
}
const mapStateToProps = ({ Modules }) => {
const { GetDynamicMenuList } = Modules;
return { GetDynamicMenuList }
}
const Address = new AddressService();
export default connect(mapStateToProps,{GetCityListFromActiveAddressSource})(Address);
//export default Address;
And My Second class…
import React, { Component } from 'react';
import FirstClass from '../../../ServiceClient/FirstClass';
class SeconClass extends Component {
constructor(props) {
super(props);
}
componentDidMount(){
Address.TestFunction();
}
}
如果我不使用connect和react-redux,那么我可以调用我的函数。但是我必须使用react-redux。我解决了我的问题,我的问题是,我使用export default与const值,但react-redux(连接)需要一个组件或函数,但我不幸地在我的例子中使用了const值。这就是我得到误差的原因。然后我在connect中导出了我的组件,并为我的const使用了另一个导出。这对我来说已经足够好了。
import React, { Component } from "react";
import { GetCityListFromActiveAddressSource } from '../Services/AddressService'
import { connect } from 'react-redux';
class AddressService extends Component{
constructor(props){
super(props);
}
TestFunction(){
alert("test");
}
render(){
return null
}
}
const mapStateToProps = ({ Modules }) => {
const { GetDynamicMenuList } = Modules;
return { GetDynamicMenuList }
}
export default connect(mapStateToProps,{GetCityListFromActiveAddressSource})
(AddressService);
export const Address = new AddressService();
我将函数命名为
import {Address} from '../../../ServiceClient/Address';