React Native Run函数任何Outher屏幕



我有一个简单的问题。我想在其他屏幕中运行我在app.js中创建的功能。每个屏幕都连接到上下文中的AppContainer。我将在另一个屏幕上使用状态,但我不知道该怎么做。你能给我一个简单的例子吗?

  _setDefaultLocation = locationKey => {
    console.log("call _setDefaultLocation function");
    
    this.setState({ defaultLocation: locationKey });
    console.log(this.state.defaultLocation);
    this._getCurrent(locationKey);
  };

上面的函数称为this.props._setDefaultLocation();我试图这样做,它不起作用。

import React from "react";
const WeatherContext = React.createContext();
function withWeather(WrappedComponent) {
  return function withContext(props) {
    return (
      <WeatherContext.Consumer>
        {value => <WrappedComponent value={value} {...props} />}
      </WeatherContext.Consumer>
    );
  };
}
export { WeatherContext, withWeather };

上下文用于使其成为这样。

您可以使用全局关键字来使您的函数全局。然后,您可以在任何屏幕上使用它。

例如,假设您的功能称为" myfunction"。您可以在app.js中实现函数。

global.myFunction = () => {
    console.warn('I am a global function...')
    // your function body
};

然后,您可以像其他功能一样在任何屏幕上调用此函数。

在您的情况下,您的功能可以以这种格式实现。

global._myFunction = locationKey => {
    console.warn('I am a global function...')
    // your function body
};

,当您调用函数时,将其称为_myFunction(locationKey)

注意:'LocationKey'是您应该通过功能传递的参数。

认为此解决方案将为您提供帮助。

最新更新