是因为在iOS中,Facebook登录需要通过Safari浏览器来完成,而不是在应用程序内部进行。这是由于iOS的安全机制所决定的。
具体来说,当使用React进行本地Facebook登录时,会调用Facebook的登录API来获取用户的授权。在iOS中,这个API会打开Safari浏览器,并跳转到Facebook的登录页面。用户在该页面上输入用户名和密码进行登录,并授权给应用程序访问其Facebook账户的权限。
完成登录和授权后,Safari浏览器会重定向回一个预先设置的回调URL。这个URL是在应用程序中配置的,并且需要在Facebook开发者平台上进行相应的设置。一般情况下,这个URL会指向应用程序内部的某个特定页面,用于处理登录成功后的逻辑。
在React中,可以通过使用React Native的Linking模块来处理这个重定向。Linking模块提供了一些方法,如getInitialURL
和addEventListener
,用于获取和监听重定向URL。通过监听URL的变化,可以在应用程序中捕获到重定向事件,并进行相应的处理,例如获取登录授权的令牌等。
总结起来,React本地Facebook登录不会重定向回iOS中的应用程序,而是通过打开Safari浏览器完成登录和授权,并在登录成功后通过预先设置的回调URL进行重定向。在React中,可以使用React Native的Linking模块来处理这个重定向事件。
领取专属 10元无门槛券
手把手带您无忧上云