【问题标题】:React native questions反应原生问题
【发布时间】:2023-03-26 19:34:01
【问题描述】:

我是 react native 的新手,但希望创建一个移动应用程序,我有几个问题,如果有人能提供帮助,我将不胜感激。

首先 关于身份验证的问题。这完全让我难以置信。

在我的应用程序中,我希望最终用户能够通过 Google 和 Facebook 进行身份验证,但我不明白这些如何链接到后端的同一个帐户

例如,用户A首先使用google登录app,使用一段时间。然后他们注销并使用 facebook 重新进行身份验证,这会将他们链​​接到第一次使用 Google 登录。如何?当我同时使用 Google 和 Facebook 进行身份验证时,除了他们的姓名和电子邮件地址之外,我没有看到任何链接它们,我错过了什么吗?我将如何允许两者都指向后端的同一点进行身份验证?

其次 我正在使用 redux 来管理我的状态。

当我加载我的状态时,可以执行以下操作

componentWillMount(){
  this.state = this.props.reducerState
}

然后,如果我调度一个动作来更新减速器,状态会自动更新,还是这是错误的方法,我只是不知道该怎么做,因为我有一个包含我的状态的文件,我应该导入那直接给组件?

因为我正在阅读更新道具并不会初始化组件的重新渲染。当一个动作被调用并且 redux 状态改变时,我真的需要一个组件来更新。

谢谢大家

【问题讨论】:

  • 第一个问题很模糊。你应该做更多的研究,看看其他应用程序是如何处理它的。我相信你很快就会找到答案。而第二个问题绝对不是。你应该阅读 redux 和 react 文档。
  • 您可以参考stackoverflow.com/questions/38202572/…链接进行redux查询。

标签: react-native react-redux


【解决方案1】:

默认情况下,这会在每次渲染和每次更新后运行,因此每次更改状态时,componentWillMount 都会调用 fire,因此最后必须传递一个空数组。它只会在第一次渲染时触发一次。您也可以在数组中传递状态变量的名称。

class Content extends React.Component {
componentWillMount(()=>{
this.state = this.props.reducerState
}, []);
} 


   
   

【讨论】:

    【解决方案2】:
    1. 在 prop 更改时更新 State(即您的术语中的 reducer 更改)

    为此,最新的方法是使用getDerivedStatefromProps。我们可以使用like

     class Example extends Component
    {
     constructor(props) {
        super(props);
        this.state = {
         data:[]
        };
      }
    static getDerivedStateFromProps(nextProps, prevState) {
     return {
      data: nextProps.data_prop,
     };
    }
    -
    -
    -
    }
    

    这里的 data 是 state 而 data_prop 是 reducer 变量。该方法只会在data_prop有更新时调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-22
      • 1970-01-01
      • 2018-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多