【发布时间】:2020-10-10 11:17:27
【问题描述】:
我对 React-Native 还是很陌生。我有一个屏幕,它以 json 格式从我的服务中获取信息,然后显示数据。在那个屏幕上,我有一个组件“日历”,用户可以从中获取另一个日期。我不知道如何从该组件更新预测状态。
这是我的主屏幕:
export default function HomeScreen({ navigation }) {
const [predictions, setPredictions] = useState([]);
const [params, setParams] = useState({
lang: 'en',
date: '2020-10-11',
sport: 'soccer'
});
useEffect( () => {
loadPredictions();
}, []);
const loadPredictions = async () => {
const response = await PredictionsApi.getPredictions({params});
// console.log(response.data);
setPredictions(response.data);
}
return (
<View style={styles.main}>
<View style={styles.container}>
<Calendar />
...
</View>
</View>
}
这是我的日历组件:
function renderDates({props}) {
const dates = [];
for(let i=-2;i<4;++i) {
var currentDate = new Date(new Date().getTime() + 24 * 60 * 60 * i * 1000);
dates.push(
<TouchableOpacity style={styles.dates} onPress={()=> props.setPredictions({
lang: 'en',
date: '2020-02-01',
sport: 'tennis',
})
}>
<Text style={styles.selected}>{Moment(currentDate).format('ddd')}{"\n"}{Moment(currentDate).format('DD')}</Text>
</TouchableOpacity>
);
}
return dates;
}
export default function Calendar({props}) {
return (
<View style={styles.calendarContainer}>
...
<View style={styles.second}>
{renderDates({props})}
</View>
</View>
);
}
【问题讨论】:
标签: reactjs react-native