tokkozhin / react-native-neomorph-shadows

Shadows and neumorphism/neomorphism for iOS & Android (like iOS).
MIT License
804 stars 91 forks source link

ShadowFlex doesn't update on props change #30

Open xPapla opened 4 years ago

xPapla commented 4 years ago

ShadowFlex component does not seem to be processing props change thus not always rendering properly.

This added to ShadowFlex.js seems to fix it.

  componentDidUpdate(_prevProps, prevState) {
    const { style } = this.props;

    if (
      prevState?.shadowStyle?.shadowOffset !== style?.shadowOffset ||
      prevState?.shadowStyle?.shadowOpacity !== style?.shadowOpacity ||
      prevState?.shadowStyle?.shadowRadius !== style?.shadowRadius ||
      prevState?.shadowStyle?.shadowColor !== style?.shadowColor ||
      prevState?.shadowStyle?.borderRadius !== style?.borderRadius ||
      prevState?.shadowStyle?.backgroundColor !== style?.backgroundColor
    )
      this.setState({
        ...prevState,
        shadowStyle: {
          ...prevState?.shadowStyle,
          shadowOffset: style?.shadowOffset,
          shadowOpacity: style?.shadowOpacity,
          shadowRadius: style?.shadowRadius,
          shadowColor: style?.shadowColor,
          borderRadius: style?.borderRadius,
          backgroundColor: style?.backgroundColor,
        },
      });
  }
koyin commented 3 years ago

Same problem here, is there any updates?

xPapla commented 3 years ago

I ended up using patch-package and fixed the package using above snippet

YoniKurtz commented 3 years ago

Same problem for me, any updates?