样式不会在React Native上重新呈现

时间:2017-08-06 16:29:48

标签: android css react-native

我遇到了React-Native

的问题

我的州: Windows 10 - Hyper V,Visual Studio Emulator Android。

我的页面上有一个组件(显示在我点击的位置)。

单击时,将在组件中发送坐标。

< ClickAnimation x = {item.x} y = {item.y} />

该组件首先具有以下内容:

state = {
    scaleAnim: 2
};

当我再次点击时,this.state.scaleAnim更改为0.001

componentWillReceiveProps(nextProps) {
    if (nextProps.x != this.props.x) {
        this.setState({scaleAnim: 0.001})
    }
}

那就是渲染:

render() {
        if (this.state.scaleAnim) {
            return <Animated.View
                key={this.props.y * this.props.x}
                style={{
                zIndex: 10,
                borderColor: "blue",
                borderRadius: 400,
                borderWidth: 1,
                position: "absolute",
                top: this.props.y,
                left: this.props.x,
                width: 60,
                height: 60,
                backgroundColor: "red",
                transform: [
                    {
                        scaleY: this.state.scaleAnim
                    }, {
                        scaleX: this.state.scaleAnim
                    }
                ]
            }}>
                <Text>{this.state.scaleAnim}</Text>
            </Animated.View>
        } else {
            return <View/>
        };
    }

使用此代码,我有以下内容:

The Style doesn't re-redender

setState会更改值,因为文本会更改。但不适用的风格。

你知道为什么吗?

1 个答案:

答案 0 :(得分:3)

我认为它可能与FB错误https://github.com/facebook/react-native/issues/6278有关 - 请尝试将比例设置为0.10.01并进行实验,直到它仍然适用于您以及它何时中断。