问题描述
我需要在我的 App 组件中从这家商店获取学生数组,但我在 App 组件中只得到 {Symbol(mobx management): ObservableObjectAdministration},但在 fetchStudents 的 Store 中我得到了我需要的普通数组。
Store.js:
import { makeAutoObservable } from 'mobx';
function Store(students = []) {
return makeAutoObservable({
students,fetchStudents() {
fetch('https://front-assignment-api.2tapp.cc/api/persons')
.then((resp) => resp.json())
.then((json) => {
students = json.students;
console.log(students);
});
},});
}
export default new Store();
` 应用组件:
import './App.css';
import React from 'react';
import { Header,Search,Students } from './components/index';
import styled from 'styled-components';
import {} from 'mobx';
import Store from './store/Store.js';
function App() {
const students = Store.students;
console.log(students);
React.useEffect(() => {
Store.fetchStudents();
},[]);
return (
<div className="App">
<Header />
<MainContent>
<AppTitle>Студенты</AppTitle>
<Search />
<StudentWrapper>
<StudentName>ФИО</StudentName>
<StudentSpecialty>Специальность</StudentSpecialty>
<StudentGroup>Группа</StudentGroup>
<StudentAge>Возраст</StudentAge>
<Studentrating>Рейтинг</Studentrating>
</StudentWrapper>
<MainStudentsWrapper>
{students && students.map((student) => <Students key={student.id} {...student} />)}
</MainStudentsWrapper>
</MainContent>
</div>
);
}
export default App;
`
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)