React Native:在两个单独的类之间运行方法

时间:2018-07-25 10:35:23

标签: react-native

如何在React Native中两个单独的类之间运行方法。

例如:

头等舱

export default class Test1 extends Component {

    testMethod(){
        // ...
    }

    render() {
        ...
    }
}

二等舱

export default class Test2 extends Component {

    componentWillMount(){
        Test1.testMethod();
    }

    render() {
    ...
    }
}

2 个答案:

答案 0 :(得分:2)

您的testMethod应该在类之外,如下所示

export const testMethod = () => {
        // ...
}

export default class Test1 extends Component {

    render() {
        ...
    }
}

如果要修改Test1类的对象属性,可以将它们作为testMethod()的参数传递,更改将被重新执行

答案 1 :(得分:0)

这是一种简单的方法...

export default class CommonDataManager {

    static myInstance = null;

    _userID = "";


    /**
     * @returns {CommonDataManager}
     */
    static getInstance() {
        if (CommonDataManager.myInstance == null) {
            CommonDataManager.myInstance = new CommonDataManager();
        }

        return this.myInstance;
    }

    getUserID() {
        return this._userID;
    }

    setUserID(id) {
        this._userID = id;
    }
}

这是使用方法...

import CommonDataManager from './CommonDataManager';


// When storing data.
let commonData = CommonDataManager.getInstance();
commonData.setUserID("User1");


// When retrieving stored data.
let commonData = CommonDataManager.getInstance();
let userId = commonData.getUserID();
console.log(userId);

希望这对您有用:)