Cardで定義した変数dictをそのままAコンポーネントで使用したい
card.js
class Card extends React.Component { render() { //省略 dictにはファイル名、パスが連想配列で格納されている var show_num = 10 var dict = [] for(var i=0; i<10; i++) { var tmp_name = list[i][1] var tmp_path = '' + tmp_name + '.jpg' dict.push({name: list[i][1] + '.jpg', image: tmp_path}) console.log(dict)//dictに格納された連想配列を別のファイルのコンポーネントで使いたい } }); } return ( //省略 ) } } export default class App extends React.Component { render() { return ( renderCard={cardData => <Card {...cardData} />} //ここでCardを呼び出す ) } }
A.js
class A extends React.Component { render() { //console.log(dict) ここでdictを呼び出したい return ( <View style={styles.card}> //ここでdictに入ったパスを取り出して表示させる <Image style={styles.thumbnail} source={{ uri: '' }} /> </View> ); } } export default A;
A コンポーネントと Card コンポーネントはどういう関係ですか?App と Card が card.js にまとめられているのも気持ち悪いですが
Card#render() 中の list ってどこから出てきたんでしょう?さらには何も return してませんし… App#render() も return おかしいですよ。まともなコードをご提示ください。
すいません、使用したライブラリのexampleに書き足してるいるのでcard.jsにまとめてしまっています。
Cardのdictに格納された配列 {name:”ファイルネーム”,image: “パス”} を遷移先のAでdictのimageパスを受け取って表示させようとしています
長くなるので省略してしまいました。console.log(dict)には10枚の画像ファイルの名前とパスが配列となっています
質問内容がおかしかったかもしれないです。Cardで定義した変数dictをそのままAコンポーネントで使用したい。とするべきでしたか。申し訳ございません。
Card と A の関係がよくわかりませんが親子なら props として dict を渡せば良いんじゃないですかね https://reactjs.org/docs/components-and-props.html