首页 > 解决方案 > 反应本机将项目添加到数组但不显示它

问题描述

我正在使用 react native 函数组件并有一个包含图像的平面列表,当我按下图像时,我希望将该图像添加到数组中,并在视图上显示该图像。但是没有显示该图像。

这就是我使用的(至少是重要的部分):

const [ valueArray, setValueArray] = useState([]);

<Button
    onPress={() => setValueArray(item.name)}
/>

return (
    <View>
        {valueArray.map((item, i) =>  (
            <Draggable x={100} y={50} renderSize={80} imageSource={require('../../images/'+item.name+'.png')} />
        ))}
    </View>
);

我想念什么吗?

标签: react-native

解决方案


我想 item.name 是一个字符串,所以你不能在 satValueArray 函数上推送一个名称。你可以这样做。

const [ valueArray, setValueArray] = useState([]);

<Button
    onPress={() => setValueArray(valueArray.push(item.name))} // Change this line
/>

return (
    <View>
        {valueArray.map((item, i) =>  (
            <Draggable x={100} y={50} renderSize={80} imageSource={require('../../images/'+item.name+'.png')} />
        ))}
    </View>
);

推荐阅读