// App.js
import React, { useState } from 'react';
import { View, Text, TextInput, Button, FlatList, StyleSheet } from 'react-native';
const App = () => {
const [description, setDescription] = useState('');
const [amount, setAmount] = useState('');
const [entries, setEntries] = useState([]);
const addEntry = () => {
if (description && amount) {
setEntries([...entries, { id: Math.random().toString(), description, amount: parseFloat(amount) }]);
setDescription('');
setAmount('');
}
};
const calculateTotal = () => {
return entries.reduce((total, entry) => total + entry.amount, 0);
};
return (
<View style={styles.container}>
<Text style={styles.header}>Expense Tracker</Text>
<TextInput
style={styles.input}
placeholder="Description"
value={description}
onChangeText={setDescription}
/>
<TextInput
style={styles.input}
placeholder="Amount"
keyboardType="numeric"
value={amount}
onChangeText={setAmount}
/>
<Button title="Add Entry" onPress={addEntry} />
<FlatList
data={entries}
renderItem={({ item }) => (
<View style={styles.entryItem}>
<Text>{item.description}</Text>
<Text>${item.amount.toFixed(2)}</Text>
</View>
)}
keyExtractor={item => item.id}
/>
<Text style={styles.total}>Total: ${calculateTotal().toFixed(2)}</Text>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
padding: 20,
backgroundColor: '#fff',
},
header: {
fontSize: 24,
marginBottom: 20,
},
input: {
borderBottomWidth: 1,
marginBottom: 10,
paddingHorizontal: 10,
fontSize: 18,
},
entryItem: {
flexDirection: 'row',
justifyContent: 'space-between',
paddingVertical: 10,
borderBottomWidth: 1,
},
total: {
fontSize: 24,
marginTop: 20,
},
});
export default App;
7. 基于手机APP开发实例--记账应用
原创mb64cc5144d532c ©著作权
©著作权归作者所有:来自51CTO博客作者mb64cc5144d532c的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Android应用内更新app
自己做的Android内更新app,把Android的下载更新做成后台服务的方式。
android ide app更新 Service -
7.多进程开发
多进程学习
Python 多进程 -
freemarker生成 java代码
FreeMarker概述FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 Template + data model = output FreeMarker 是一个非常优秀的模板引擎,这个模板引擎可用于任何场景,FreeMarker负责将数据模型中的数据合并到模板中,从而生成标准输出.界面开发
freemarker生成 java代码 freemarker Web Java Servlet