gpt4 book ai didi

javascript - Mobx Reactjs 对我不起作用(我无法注入(inject)我的商店)

转载 作者:行者123 更新时间:2023-11-30 15:13:58 25 4
gpt4 key购买 nike

我不确定我做错了什么,但我不断出错。我想一次会犯一个错误。我将我的项目精简到最简单的部分。希望有人能看到问题

app.bundle.js?31044e2…:12841 Uncaught TypeError: Cannot read property 'isMobxInjector' of undefined
at observer (app.bundle.js?31044e2…:12841)
at Object.<anonymous> (app.bundle.js?31044e2…:35924)
at __webpack_require__ (app.bundle.js?31044e2…:20)
at Object.<anonymous> (app.bundle.js?31044e2…:23127)
at __webpack_require__ (app.bundle.js?31044e2…:20)
at Object.<anonymous> (app.bundle.js?31044e2…:17566)
at __webpack_require__ (app.bundle.js?31044e2…:20)
at module.exports (app.bundle.js?31044e2…:63)
at app.bundle.js?31044e2…:66

应用程序.js

import React from 'react';
import ReactDOM from 'react-dom';
import stores from './stores';
import UserPage from './components/UserPage'
import { Provider } from 'mobx-react';

ReactDOM.render(
<Provider userStore={stores.userStore}>
<UserPage />
</Provider>,
document.getElementById('root')
);

用户页面

    import React, { Component } from 'react'
import ReactDOM from 'react-dom';
import { observer, inject } from 'mobx-react';
import DevTools from 'mobx-react-devtools';

import Asset from '../classes/user'


@inject('userStore')
@observer()
export default class UserPage extends Component {
constructor() {
super();
}
render() {
let userStore = this.props.userStore;


return (
<div>
test
</div>
)
}
}

用户存储

import {observable, computed, action} from 'mobx';


class UserStore {
@observable users = []
@observable activeUser = 2;
@computed get count() {
return this.users.length;
}
@action.bound setActiveUser(){
// I would like to pass in a paramter but not sure if it is possible with @action.bound
this.activeUser = 1;
}
}

var userStore = new UserStore();

export default userStore;

索引.js

import userStore from './userStore';

const stores = {
userStore
}

export default stores;

用户

import {observable} from 'mobx';

class User {
@observable firstName
@observable lastName

constructor(firstName = '', asselastNametType = '') {
this.firstName = firstName;
this.lastName = asselastNametType;
}
}

export default User;

最佳答案

observer 不接受任何参数。改为:

@inject('userStore')
@observer
export default class UserPage extends Component {
render() {
let userStore = this.props.userStore;
return <div> test </div>
}
}

关于javascript - Mobx Reactjs 对我不起作用(我无法注入(inject)我的商店),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44731477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com