首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
15651980765
V2EX  ›  React

看 React 文档,有一句话不太理解。

  •  
  •   15651980765 · 38 天前 · 929 次点击
    这是一个创建于 38 天前的主题,其中的信息可能已经有所发展或是发生改变。

    “尽管 this.props 和 this.state 是 React 本身设置的,且都拥有特殊的含义,但是其实你可以向 class 中随意添加不参与数据流(比如计时器 ID )的额外字段。”


    组件之间流转的数据在 this.props 上,组件内部的数据在 this.state 上,那什么数据直接添加到 this 上呢?

    5 回复  |  直到 2020-02-11 10:51:39 +08:00
    iiii
        1
    iiii   38 天前 via Android
    render 里用不到的
    ljpCN
        2
    ljpCN   38 天前 via Android
    这段话已经举例了。比如一个计时器的 ID(setTimeout 的返回值)你需要保存起来(万一需要 clear 掉),这时你就把它挂到 class 的 this 上
    yaphets666
        3
    yaphets666   38 天前
    不需要响应式变化的数据 暂时可以这么理解
    shadeofgod
        4
    shadeofgod   38 天前
    不希望它的更新导致 re-render 的都可以放,常用的比如:

    ```js
    componentDidMount() { this._mount = true }
    componentWillUnmount() { this._mount = false }
    ```
    nnnToTnnn
        5
    nnnToTnnn   6 天前
    React 是单项数据流。

    通过 Props 和 state 来进行状态更改组件的变化。 但是有些属性是不需要在 Props 以及 state 进行变化的。

    例如计算用户点击了多少次。 这些本身不参与 dom 的变化。所以基本上不需要用到 state,props

    -------------------------

    其实这也是我和同事的之间经常吵的一件事情。

    我不喜欢作为单向数据流,也就是不喜欢以数据为基础来进行渲染。更加喜欢的是以 dom 作为一个组件对象。拥有事件属性,作为一个对象来进行操作。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3153 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 13:15 · PVG 21:15 · LAX 05:15 · JFK 08:15
    ♥ Do have faith in what you're doing.