javascript - 如何映射SetState函数?

标签 javascript reactjs typescript mapping material-ui

如何映射 setState 函数?

这是我的 setState 函数示例:

const [firstName, setFirstName] = useState('');
const [lastName, setLastName] = useState('');

这是我的映射技术:


  {[{ label: "First Name", state: 'firstName' , function: 'setFirstName'},
                  { label: "Last Name", state: 'lastName' },
                  { label: "Email", state: 'email' },
                  { label: "Password", state: 'password' },
                  { label: "Phone", state: 'phone' }].map((item, index) => (
                    <div>
                      <TextField
                        id="outlined-basic"
                        key={index}
                        label={item.label}
                        variant="outlined"
                        onChange= {e => setFirstName(e.target.value)}          
                      />
                      <br></br><br></br>
                    </div>
                  )
  )}

这可行,但我想以这样的方式更改 onChange,而不是 setFirstName,我可以传入函数并映射所有它们(例如,firstName、lastName 等)。我该如何解决这个问题?

最佳答案

只需删除 statefunction 的引号,并在 onChange 中使用 function 即可。


    [
      { label: 'first name', state: firstName, function: setFirstName },
      { label: 'last name', state: lastName, function: setLastName },
    ].map((item, index) => (
      <TextField
        key={index}
        label={item.label}
        onChange={e => item.function(e.target.value)} // use state function       
      />
    ))

关于javascript - 如何映射SetState函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60390534/

相关文章:

javascript - 如何在 node.js 上用\r\n 替换字符串?

reactjs - 如何在不重新加载整个页面的情况下进行路由?

javascript - React-create-app 中的对象解构

typescript - 如何在 NestJS Controller 中使用 DTO 的验证组?

javascript - 混淆了箭头函数javascript

javascript - 如何使用正则表达式来测试特定的小数?

javascript - javascript 函数后页面刷新

javascript - 通过增加 javascript 中的数字使记录唯一

javascript - 如何判断我的 Cordova 应用程序是在模拟器上运行还是在真实设备上运行?

javascript - ReactJS:两个下拉菜单之间的交互