View是否已经是React Native中的纯组件?

Fei

在React Native中,说我有类似的东西

var styles = { ... }
export default class App extends React.Component {
    ...
    render() {
        return(
            <View style={styles.container}>
                <View style={{width: this.state.widthA}} />
                <View style={{width: this.state.widthB}} />
            </View>
        );
    }
}

状态widthA改变时,将再次调用render()函数。兄弟视图(widthB)是否也会重新渲染?可以定义任何性能提升吗

class PureView extends React.PureComponent {
    constructor(props) {
        super(props);
    }
    render() {
        return <View {...this.props} />
    }
}

并用PureView替换两个视图?

瓦希德·阿赫塔尔

实际上,会发生重新渲染,因为react中的重新渲染属于两件事。

1. The props of the parent is changed.

2. The state of a component changed.

因此,在您的情况下,组件的状态正在更改,这就是您的兄弟姐妹也将重新渲染的原因,因为这两个兄弟姐妹的父代的状态已更改。

为了避免这种情况,有两个这样做。

1. Use Pure component

纯组件查看了先前的状态和下一个状态,并巧妙地处理了重新渲染,但是纯组件在每种情况下都不适用或有用。

2. ShouldComponentUpdate

此方法用于手动处理重新渲染,就像您不想重新渲染第二个同级的情况一样,因此您可以根据同级生命周期方法中的prop返回false,这样该组件就不会重新生成通过此更改进行渲染。

The View is just a UI container re-rendering depends on component props or state, So View can't control the re-render of a component

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C ++函数中定义已经是参数名称的变量

来自分类Dev

在React Native中的组件之间进行通信?

来自分类Dev

在React和React Native中的组件之间传递函数

来自分类Dev

React Native中的数据更改后组件未更新

来自分类Dev

如何从React Native的WebView组件中打开Safari中的链接

来自分类Dev

在React Native中通过子组件更新父组件

来自分类Dev

如何运行循环以将组件放置在React Native中

来自分类Dev

如果一个类已经是@Service,那么在Spring Application类中是否需要@Autowired?

来自分类Dev

将jsx组件存储在react-native中的变量中

来自分类Dev

使用React-Router-Native从React Native中的Axios拦截器(组件外部)重定向到View组件

来自分类Dev

从React Native中的另一个组件导航后,如何刷新堆栈中已经存在的组件

来自分类Dev

在React Native中创建可重用组件?

来自分类Dev

用于路由的组件必须是react native中的react组件

来自分类Dev

App是否被视为React Native中的组件?

来自分类Dev

React Native:“ VirtualizedLists绝对不能嵌套在纯ScrollViews中。”警告

来自分类Dev

在React Native外部组件中调用函数

来自分类Dev

React Native中的组件不同步

来自分类Dev

在React Native中创建日历组件

来自分类Dev

在React Native中渲染特定组件

来自分类Dev

在React Native中动态创建组件

来自分类Dev

React Native中的组件异常

来自分类Dev

在React Native中组件未在平面列表中返回

来自分类Dev

如何在React Native中让组件控制同级组件?

来自分类Dev

在React Native中隐藏和显示组件

来自分类Dev

用户应该不在sudoers文件中,但已经是

来自分类Dev

如何从React Native的WebView组件中打开Safari中的链接

来自分类Dev

在React Native中删除多个组件

来自分类Dev

如何处理纯功能性React组件中的事件

来自分类Dev

React-Native:在单个 View 组件中居中两个文本组件

Related 相关文章

  1. 1

    在C ++函数中定义已经是参数名称的变量

  2. 2

    在React Native中的组件之间进行通信?

  3. 3

    在React和React Native中的组件之间传递函数

  4. 4

    React Native中的数据更改后组件未更新

  5. 5

    如何从React Native的WebView组件中打开Safari中的链接

  6. 6

    在React Native中通过子组件更新父组件

  7. 7

    如何运行循环以将组件放置在React Native中

  8. 8

    如果一个类已经是@Service,那么在Spring Application类中是否需要@Autowired?

  9. 9

    将jsx组件存储在react-native中的变量中

  10. 10

    使用React-Router-Native从React Native中的Axios拦截器(组件外部)重定向到View组件

  11. 11

    从React Native中的另一个组件导航后,如何刷新堆栈中已经存在的组件

  12. 12

    在React Native中创建可重用组件?

  13. 13

    用于路由的组件必须是react native中的react组件

  14. 14

    App是否被视为React Native中的组件?

  15. 15

    React Native:“ VirtualizedLists绝对不能嵌套在纯ScrollViews中。”警告

  16. 16

    在React Native外部组件中调用函数

  17. 17

    React Native中的组件不同步

  18. 18

    在React Native中创建日历组件

  19. 19

    在React Native中渲染特定组件

  20. 20

    在React Native中动态创建组件

  21. 21

    React Native中的组件异常

  22. 22

    在React Native中组件未在平面列表中返回

  23. 23

    如何在React Native中让组件控制同级组件?

  24. 24

    在React Native中隐藏和显示组件

  25. 25

    用户应该不在sudoers文件中,但已经是

  26. 26

    如何从React Native的WebView组件中打开Safari中的链接

  27. 27

    在React Native中删除多个组件

  28. 28

    如何处理纯功能性React组件中的事件

  29. 29

    React-Native:在单个 View 组件中居中两个文本组件

热门标签

归档