Javascript 将参数传递到道具中?

Javascript 将参数传递到道具中?,javascript,reactjs,react-native,mobile,Javascript,Reactjs,React Native,Mobile,我是一个新的反应者,我正试图弄清楚道具是如何工作的。我想用它来传递一个函数,我知道怎么做,但我想用一些参数来做。我知道我的switch语句可以工作,因为如果我手动设置该值,它会按预期工作。我只是太笨了,想不出来。这是我的密码: export default function App() { const [screen, setScreen] = useState(0); const setScreenState = () => { //I want to be able to p

我是一个新的反应者,我正试图弄清楚道具是如何工作的。我想用它来传递一个函数,我知道怎么做,但我想用一些参数来做。我知道我的switch语句可以工作,因为如果我手动设置该值,它会按预期工作。我只是太笨了,想不出来。这是我的密码:

export default function App() {
  const [screen, setScreen] = useState(0);

  const setScreenState = () => { //I want to be able to pass an argument into here so that i can set the screen that is shown with my switch statement.
    console.log("setting screen");
  };

  switch (screen) {
    case 0:
      return <WelcomeScreen setScreen={setScreenState} />;
      break;
    case 1:
      return <ViewImageScreen setScreen={setScreenState} />;
      break;
    case 2:
      return <ViewHelp setScreen={setScreenState} />;
      break;
  }
}
导出默认函数App(){
常量[屏幕,设置屏幕]=使用状态(0);
const setScreenState=()=>{//我希望能够在这里传递一个参数,以便设置与switch语句一起显示的屏幕。
控制台日志(“设置屏幕”);
};
开关(屏幕){
案例0:
返回;
打破
案例1:
返回;
打破
案例2:
返回;
打破
}
}

这可能是一个愚蠢的问题,我只是很难在道具和道具如何工作的问题上绞尽脑汁。无论我读了多少书或看了多少,我都不明白:(。

*编辑:在我看来,OP是在问如何“通过”函数和参数。如果您确实希望使用子元素中提供的参数调用函数,则更容易。您可以像上面一样传入函数,然后在子元素中调用它:

function WelcomeScreen(props){
  // you can invoke here if you want
  props.setScreen('my value');

  // or you can invoke in an event
  return (<button onClick={e=> props.setScreen('my value')}>Click me!</button>);
}
或使用


最后一个案例中的“setHomeState”是错误吗?我看不出它的定义。是的,很抱歉我将它从setHomeState更改为setScreen,忘记更改最后一个,让我进行编辑。因此,当我将其用于onPress事件时,它看起来像
props.setScreen('parameter')
我的答案是否正确?我编辑了我的答案,希望能回答您的问题,希望能有所帮助
return <WelcomeScreen setScreen={()=> setScreenState('parameter i want to set')} />
return <WelcomeScreen setScreen={setScreenState.bind(null, 'parameter i want to set')} />
const setScreenState = (myArg) => { 
    console.log("setting screen: " + myArg);
};