【发布时间】:2018-04-26 01:51:28
【问题描述】:
我正在使用https://github.com/futurepress/react-native-static-server。有两个函数,server.start() 用于启动服务器,server.stop() 用于停止服务器。
从函数启动服务器在_startServer() 中完成。但是,我将如何停止服务器 (_stopServer())?我不确定如何正确地将对服务器的引用传递给_stopServer()。
export default class Foo extends Component {
_startServer = () => {
server.start()
.then((localServer) => {
this.setState({
serverRunning: true,
localServer: localServer
})
});
}
_stopServer = (refToServer) => {
refToServer.stop();
}
...
render() {
return (
<TouchableOpacity
onPress={() => this._startServer()} />
<TouchableOpacity
onPress={() => this._stopServer(??)} />
)
}
}
【问题讨论】:
-
如果你可以简单地使用
server.stop(),为什么还需要传递任何东西? -
@dfsq 因为我在
_startServer()中初始化了server。当我尝试在_stopServer()中访问server时,server超出范围(?)因此我无法调用server.stop() -
然后将其存储为实例属性。
-
@dfsq 你的意思是
this.setState({server: server})? -
不,我的意思是实例属性。
this.server = ....
标签: javascript asynchronous react-native promise