获取本机反应(IOS模拟器)

时间:2018-10-16 12:56:48

标签: react-native

我是本机反应的新手。我一直在关注https://blog.theodo.fr/2017/03/how-to-create-an-authentication-system-and-a-persistent-user-session-with-react-native/上的教程,以学习如何在react native上使用asyncstorage。这是我停留的代码片段:

userSignup() {
  if (!this.state.username || !this.state.password) return;
  // TODO: localhost doesn't work because the app is running inside an emulator. Get the IP address with ifconfig.
  fetch('http://192.168.XXX.XXX:3001/users', {
    method: 'POST',
    headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },
    body: JSON.stringify({
      username: this.state.username,
      password: this.state.password,
    })
  })
  .then((response) => response.json())
  .then((responseData) => {
    this.saveItem('id_token', responseData.id_token),
    Alert.alert( 'Signup Success!', 'Click the button to get a Chuck Norris quote!'),
    Actions.HomePage();
  })
  .done();
}

我不确定我应该在“ http://192.168.XXX.XXX:3001/users”中添加什么。
在哪里可以找到我的端口号?
如果我搜索“什么是我的IP”,该IP是否与我找到的IP相同?

“ application / json”有什么作用?如果我只是逐字复制粘贴提取部分,我应该知道一些警告吗? (我也只有两种状态:用户名和密码)

这是我到目前为止为注册页面编写的内容:

import React, {Component} from 'react';
import {StyleSheet, Text, View} from 'react-native';

export default class signUp extends React.Component {
  render() {
    return (
      <View style={styles.container}>
        <Text>signUp</Text>
      </View>
    );
  }

  userSignUp(){
    if(!this.state.username || !this.state.password) return;
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
});

1 个答案:

答案 0 :(得分:1)

  

我不确定我应该在这里放什么   'http://192.168.XXX.XXX:3001/users'。在哪里可以找到我的端口号?   如果我搜索“什么是我的ip”,该IP是否与我找到的IP相同?

注释“使用ifconfig获取IP地址”为您提供了有关该部分的线索。如果您使用的是macOS(OS X),则可以运行ifconfig,其结果如下:

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 11:11:11:11:11:11 
    inet6 aaaa::aaaa:aaaa:aaaa:aaaa%en0 prefixlen 64 secured scopeid 0x5 
    inet x.x.x.x netmask 0xffffff00 broadcast y.y.y.y
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active

^ x.x.x.xen0 inet之后的任何内容都是您的IP。

Google的价值就是您的公共IP,它会比较慢并且可能无法访问。

该端口可以用于任何内容,但是博客引用了Node.js,因此该端口可以用于Node服务器。如果您已经在其中运行某些程序,则可以使用以下命令找到它:

lsof -nP -i4TCP | grep 3001
  

“ application / json”有什么作用?

application/json是接收(Accept)和发送(Content-Type)的内容类型;它表示JSON,这是当今最常见的API格式。