My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more

Trying to pass a variable inside of the useState method, but...

Default profile photo
Anonymous
·Jul 24, 2020·

2 min read

Trying to pass a variable inside of the useState method, but my app is crashing constantly at the first line. Where am I doing wrong ?

const App = () => {
  let path1 = getString();
  let path2 = getString();
  const [uri1, setUri1] = useState(require(path1));
  const [uri2, setUri2] = useState(require(path2));

const buttonPressed = () => {
    let path1 = getString();
    let path2 = getString();
    setUri1(require(path1));
    setUri2(require(path2));
  }

const getString = () => {
    const num = getRandomValue();
    const string = (
      './src/Images/dice' + num + '.png'
    );
    console.log(`Invoked the value of string is: ${string}`);
    return string;

  }

  const getRandomValue = () => {
    return (Math.floor((Math.random() * 6)) + 1);
  }


  return (
    <View style={styles.container}>
      <View style={{ flexDirection: "row" }}>
        <Image
          style={styles.stretch}
          source={uri1}
        />
        <Image
          style={styles.stretch}
          source={uri2}
        />
      </View>
      <TouchableOpacity
        onPress={buttonPressed}
      >
        <Text
          style={styles.gamebutton}>
          Play Game
        </Text>
      </TouchableOpacity>
    </View>
  );
};

Screenshot (182).png

#react-native #react #android