【问题标题】:when i use mobx with react-router here is a warning当我将 mobx 与 react-router 一起使用时,这是一个警告
【发布时间】:2018-09-07 08:13:30
【问题描述】:

警告:提供者:不建议将 props 直接分配给 state,因为对 props 的更新不会反映在 state 中。大多数情况下,还是直接使用 props 比较好。

这里是 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;

这里是代码

【问题讨论】:

  • 请分享一些代码sn-p,你在其中将道具分配给状态
  • 欢迎来到 SO。请分享迈克尔提到的代码,以便我们能够很好地理解您的问题并提出可能的解决方案

标签: reactjs mobx


【解决方案1】:

这是来自 React 16.5.0 的投诉。看起来这是mobx-react 需要解决的问题。在这里您可以阅读更多相关信息:https://github.com/mobxjs/mobx-react/issues/545

【讨论】:

    【解决方案2】:

    像下面这样分配你的道具并在需要的地方调用它们

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 2018-02-03
      • 1970-01-01
      • 2018-12-30
      • 2016-07-30
      相关资源
      最近更新 更多