当我将mobx与react-router一起使用时,这是一个警告

时间:2018-09-07 08:13:31

标签: reactjs mobx

警告:提供者:不建议将道具直接分配给状态,因为对道具的更新不会反映在状态中。在大多数情况下,最好直接使用道具。

这是router.js

const router = () => {
return (
        <Provider {...stores}>
            <Router>
                <div>
                    <Route exact path="/" component={Home} />
                </div>
            </Router>
        </Provider>
  )
}

export default router;

Home.js

class Home extends Component {

  componentDidMount() {
  }

  render () {
     return (
        <div>
            <TodoList />
        </div>
     )
   }
 }

 export default Home

TodoList.js

@inject('todoStore')
@observer
class TodoList extends Component {
    componentDidMount() {
        console.log(this.props)
    }
    render () {
        const name = this.props.todoStore;
        return (
            <div>
                <span>{name}</span>
            </div>
        )
    }
}

export default TodoList;

这是代码

2 个答案:

答案 0 :(得分:1)

这是来自反应 16.5.0的投诉。看来这是mobx-react需要解决的问题。在这里,您可以了解有关此内容的更多信息:https://github.com/mobxjs/mobx-react/issues/545

答案 1 :(得分:0)

像下面那样分配道具,并在需要时调用它们

render () {
    const { todoStore } = this.props;
    return (
        <div>
            <span>{todoStore}</span>
        </div>
    )
 }