Javascript 如何签入输入值(React)

Javascript 如何签入输入值(React),javascript,reactjs,react-props,Javascript,Reactjs,React Props,我有我在项目中使用的自定义输入。 我想在把它放进道具之前检查一下输入值。我输入了从映射数组中得到的输入值。我想做一个检查,就像arrVal!==0放入arrVal,否则放入1 {arr.map((it, i) => ( <Input value={it.num} // here make a check like it.num !== 0 ? it.num : 1 /> ))} {arr.map((it,i)=>( ))} 只需添加这个值={i

我有我在项目中使用的自定义输入。 我想在把它放进道具之前检查一下输入值。我输入了从映射数组中得到的输入值。我想做一个检查,就像arrVal!==0放入arrVal,否则放入1

{arr.map((it, i) => (
    <Input
        value={it.num} // here make a check like it.num !== 0 ? it.num : 1
    />
))}
{arr.map((it,i)=>(
))}

只需添加这个
值={it.num | | 1}

{arr.map((it, i) => (
    <Input
        value={it.num || 1} 
    />
))}
{arr.map((it,i)=>(
))}

您可以使用具有回退值的保护子句:

{arr.map((it, i) => (
  <Input key={i} value={(it && it.num) || 1} />
))}
{arr.map((it, i) => (
  <Input key={i} value={it?.num || 1} />
))}
{arr.map((it,i)=>(
))}
或使用具有回退值的可选链接:

{arr.map((it, i) => (
  <Input key={i} value={(it && it.num) || 1} />
))}
{arr.map((it, i) => (
  <Input key={i} value={it?.num || 1} />
))}
{arr.map((it,i)=>(
))}

不要忘记映射元素的React键。

您可以将条件语句传递给值,如下所示:

{arr.map((it, i) => (
   <Input
      value={it.num !== 0 ? it.num : 1}
   />
))}
{arr.map((it, i) => {
   const result = it.num !== 0 ? it.num : 1;
   
   return (
      <Input value={result} />
   )})
}
{arr.map((it,i)=>(
))}
或者,如果条件更复杂,您可以将结果存储在变量上,然后使用它,如下所示:

{arr.map((it, i) => (
   <Input
      value={it.num !== 0 ? it.num : 1}
   />
))}
{arr.map((it, i) => {
   const result = it.num !== 0 ? it.num : 1;
   
   return (
      <Input value={result} />
   )})
}
{arr.map((it,i)=>{
const result=it.num!==0?it.num:1;
返回(
)})
}

value={it.num!==0?it.num:1}
别忘了返回输入组件!