React Native 运行 功能任何其他屏幕
React Native run function any outher screen
我有一个简单的问题。
我想 运行 我在 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 };
上下文是用来使它成为那样的。
您可以使用 global 关键字使您的函数成为全局函数。然后你可以在任何屏幕上使用它。
例如,假设您有一个名为 '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' 是您应该为函数传递的参数。
认为此解决方案会对您有所帮助。
我有一个简单的问题。 我想 运行 我在 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 };
上下文是用来使它成为那样的。
您可以使用 global 关键字使您的函数成为全局函数。然后你可以在任何屏幕上使用它。
例如,假设您有一个名为 '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' 是您应该为函数传递的参数。
认为此解决方案会对您有所帮助。