Привет, ppl. Я использую Back4app в качестве Backend, у меня есть такой файл.Я использую класс для инкапсуляции Parse.
import Parse from 'parse';
Parse.serverURL = process.env.REACT_APP_URL;
Parse.initialize(
process.env.REACT_APP_appID,
process.env.REACT_APP_JSkey
);
class ParseApp {
constructor() {
this.app = Parse;
this.userClass = Parse.Object.extend('CustomUsers');
}
addUser = (name, email) => {
const userDB = new this.userClass();
userDB.set('UserName', name);
userDB.set('email', email);
userDB.save().then((res) => {
console.log(res);
}, (err) => {
console.log(err);
});
}
getUsers = () => {
let Users = []
const queryUsers = new Parse.Query(this.userClass);
queryUsers.find().then((results) => {
Users = results.map((user) => {
return {
id: user.id,
userName: user.attributes.UserName,
email: user.attributes.email
};
});
return Users;
}, (err) => {
console.log(err);
});
}
}
export default new ParseApp();
, и я использую его следующим образом:
import React, {useState, useEffect} from 'react';
import Note from './note';
import './notes.css'
import UserNameMailForm from './userNameMailForm';
import shortid from 'shortid';
import ParseApp from '../parse';
const NoteApp = (props) => {
const [users, setUsers] = useState([]);
useEffect(() => {
const Users = ParseApp.getUsers();
}, []);
const handleClick = () => {
console.log(users);
}
const addNewUser = (userName, email) => {
ParseApp.addUser(userName, email);
}
return (
<div className="container p-0">
<div
className="screen pt-1 pb-1"
style={{overflowY: 'scroll'}}
>
{/* {users.map((user) => {
return <Note key={shortid.generate()} userName={user.userName} email={user.email} />
})} */}
</div>
<UserNameMailForm addUser={addNewUser} />
<button type="button" onClick={handleClick}>Show</button>
</div>
);
}
export default NoteApp;
Я получаю правильные результаты для метода класса анализа, который я создал, но не определен в реакциикомпонент, что я делаю не так?Какой подход я должен следовать.Если бы вы могли дать мне несколько советов о том, какой подход я должен следовать.