【发布时间】:2021-01-05 12:46:29
【问题描述】:
我正在尝试导出我在函数中生成的数组,以便可以在我的主要组件中使用它。我有以下代码:-
子组件:-
import { useState, useEffect } from 'react';
const DeckFootball = () => {
const [ fullDeck, setFullDeck ] = useState([])
useEffect(() => {
generateDeck()
}, [deck])
const deck = []
const deckLimits = {
joker: 4,
goalkeepers: 12,
defenders: 12,
midfielders: 12,
attackers: 12,
}
const generateDeck = () => {
for (let i = 0; i < deckLimits.joker; i++) {
generateCard("joker")
}
for (let i = 0; i < deckLimits.goalkeepers; i++) {
generateCard("goalkeeper")
}
for (let i = 0; i < deckLimits.defenders; i++) {
generateCard("defender")
}
for (let i = 0; i < deckLimits.midfielders; i++) {
generateCard("midfielder")
}
for (let i = 0; i < deckLimits.attackers; i++) {
generateCard("attacker")
}
setFullDeck(deck);
}
const generateCard = item => {
const card = {...}
//add this card to the deck
deck.push(card)
}
return [fullDeck];
}
export default DeckFootball;
然后在我的主要组件中,我正在执行以下操作:-
主要组件:-
import {fullDeck} from '../../decks/football/deck_football';
当我console.log(fullDeck) 这是undefined
我的语法错了吗?似乎没有调用子组件。
我也试过
import DeckFootball, {fullDeck} from '../../decks/football/deck_football';
然后是console.log(DeckFootball.fullDeck),但这也是未定义的。
任何帮助将不胜感激!
谢谢
【问题讨论】:
标签: javascript reactjs react-hooks react-functional-component