前提・実現したいこと
React Nativeを利用してアプリを開発しています。
Buttonコンポーネントを押す度に、同じButtonコンポーネントが増えて表示される動きをさせたいです。
しかし、Buttonを押すと、下記のエラーが発生して目的の動きができません。
対策の方法について、ご存知の方折りましたら、ご教授いただけないでしょうか?
発生している問題・エラーメッセージ
TypeError: handleAdd is not a function. (In 'handleAdd()', 'handleAdd' is an instance of Object) createReactClass$argument_0.touchableHandlePress TouchableOpacity.js:264:45 touchableHandlePress [native code]:0 TouchableMixin._performSideEffectsForTransition Touchable.js:880:34 _performSideEffectsForTransition [native code]:0 TouchableMixin._receiveSignal Touchable.js:779:44 _receiveSignal [native code]:0 TouchableMixin.touchableHandleResponderRelease Touchable.js:490:24 touchableHandleResponderRelease [native code]:0 forEach [native code]:0 callFunctionReturnFlushedQueue [native code]:0
該当のソースコード
JS
1import React, { useState } from "react"; 2import { View, Button } from "react-native"; 3 4function Item(handleAdd) { 5 return ( 6 <View> 7 <Button 8 title="追加" 9 onPress={() => { 10 handleAdd(); 11 }} 12 /> 13 </View> 14 ); 15} 16 17export default function TestStateArray() { 18 const [counter, setCounter] = useState(1); 19 20 function handleAdd() { 21 setCounter((v) => v + 1); 22 } 23 24 return ( 25 <View> 26 {[...Array(counter).keys()].map((i) => ( 27 <Item handleAdd={handleAdd} key={i} /> 28 ))} 29 </View> 30 ); 31}
補足情報(FW/ツールのバージョンなど)
node : 12.18.3
react native : 4.10.1
expo : 3.22.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。