#android #ios #react-native #expo
#Android #iOS #реагировать-родной #Экспо
Вопрос:
Мне нужно отправить данные по электронной почте из SQLite в моем приложении react native. Я хочу, чтобы данные из SQLite были в теле письма
Это то, что у меня есть до сих пор:
const getSqliteData = () =gt; { db.transaction( (tx) =gt; { tx.executeSql("select * from cart", [], (_, { rows }) =gt; JSON.stringify(rows) ); } ); }; return ( lt;SafeAreaView style={{ flex: 1 }}gt; lt;View style={{ flex: 1, backgroundColor: "white" }}gt; // some other stuff lt;TouchableOpacity style={styles.buttonsend} onPress={ () =gt; { sendEmail( '', '', 'This was sent from my-app -- ' getSqliteData, { cc: '' } ).then(() =gt; { console.log('Your message was successfully sent!'); }) }}gt; lt;Text style={styles.buttontext}gt;Emaillt;/Textgt; lt;/TouchableOpacitygt;
Он не выдает никаких ошибок, он просто не возвращает никаких данных.
Спасибо
Ответ №1:
На случай, если кто-то все еще ищет ответ.
- Объявить государство
let [flatListItems, setFlatListItems] = useState([]);
- Извлеките данные из SQLite
db.transaction((tx) =gt; { tx.executeSql("select * from cart", [], (tx, results) =gt; { var temp = []; for (let i = 0; i lt; results.rows.length; i) temp.push(results.rows.item(i)); setFlatListItems(temp); });
- Передача данных в тело электронной почты
sendEmail('','','This was sent from my-app -- ' JSON.stringify(flatListItems, ['name', 'qty']),{ cc: '' })