【问题标题】:Update multiple states via onValueChange - React Native通过 onValueChange 更新多个状态 - React Native
【发布时间】:2022-01-06 14:56:13
【问题描述】:

我有一个下拉列表,用户可以从中选择一个值,每个值都有相应的描述。为了填充下拉列表,我从我的数据库中检索值

一旦用户选择了他们的值,我想用相应的描述更新另一个字段(因此是一个单独的状态)

到目前为止,这就是我填充下拉列表的方式

 const [newEventName, setEventName] = useState('');
 const [newEventDescription, setEventDescription] = useState('');

<Select
  onValueChange={newEventName => setEventName(newEventName)}
  placeholder="Select Event"
>
{eventTypeData.map(event => (
  <Select.Item
    key={event.id}
    label={event.name}
    value={event.name}
   />
 ))}
 </Select>

我可以在我的onValueChange 中调用两个方法吗,所以我将创建一个自定义函数来处理将所选值映射到其适当的描述,然后在onValueChange 中调用它

除非有更好的方法?

【问题讨论】:

    标签: javascript react-native


    【解决方案1】:

    你可以像下面那样做

    const updateValues = (newEventName) => {
                             // find your newEventDescription
                             setEventName(newEventName);
                             setEventDescription(newEventDescription);
                         }
    onValueChange={newEventName => updateValues(newEventName)}
    

    【讨论】:

      【解决方案2】:

      这非常简单,创建一个函数并编写逻辑以从您的 eventName 中提取描述,然后设置这两个值。

      const setEventNameAndDesc = (newEventName) => {
      // extract your description from the eventName
         setEventName(newEventName);
         setEventDescription(newEventDescription);
      }                    
      onValueChange={newEventName => setEventNameAndDesc(newEventName)}
      

      【讨论】:

        猜你喜欢
        • 2022-01-22
        • 1970-01-01
        • 1970-01-01
        • 2016-02-29
        • 1970-01-01
        • 2020-09-06
        • 2020-04-24
        • 2022-01-22
        • 1970-01-01
        相关资源
        最近更新 更多