React Native - 为什么函数会自动触发?

React Native - why do functions trigger automaticly?

首先让我说一下我刚开始学习 React Native,为此,我会尽量说清楚。

上下文:

我正在尝试创建一个简单的符号 in/sign 向上页面,我有一个主屏幕,其中包含 2 个具有 React 状态的输入(用户名和密码),当我按下按钮时,我需要将其传递给服务,所以代码如下所示:
function HomeScreen(props) {
  const [userName, onChangeUserNameText] = React.useState(null);
  const [password, onChangePasswordText] = React.useState(null);
  ...
  return (
        <TextInput 
          ...
          onChangeText={onChangeUserNameText}
          value={userName}
        />
        <TextInput
          ...
          onChangeText={onChangePasswordText}
          value={password}
        />
        <Button
          ...
          onPress={SignIn(userName, password)}
        />
    )

SignIn(...) 方法是从另一个我称为 home.service 的文件中导出的,该文件应该处理我的主屏幕和 API 调用之间的通信,我还放入了一些日志那个函数。

问题:

出于某种原因,每当我加载应用程序或更新我的任何输入时,当我按下 sing in 按钮时应该执行的功能正在执行

加载中

更改文本

我在这里错过了什么?

Edit/Conclusion :

谢谢你@Robin Zigmond,问题就像这位绅士所说的那样,我在 onPress 事件中调用我的函数的方式:

<Button
    ...
    onPress={() => SignIn(userName, password)}
/>

需要添加回调,否则SignIn会一直执行:

function HomeScreen(props) {
  const [userName, onChangeUserNameText] = React.useState(null);
  const [password, onChangePasswordText] = React.useState(null);
  ...
  return (
        <TextInput 
          ...
          onChangeText={onChangeUserNameText}
          value={userName}
        />
        <TextInput
          ...
          onChangeText={onChangePasswordText}
          value={password}
        />
        <Button
          ...
          onPress={() => SignIn(userName, password)}
        />
    )
}