簡體   English   中英

REACT NATIVE - 使用自定義組件在應用程序屏幕上觸發模式

[英]REACT NATIVE - Trigger Modal on App Screen using a Custom Component

我正在嘗試使用自定義按鈕組件在應用程序屏幕上觸發模態。

我創建了一個名為SelectBoxLong.js的可重用按鈕

在此處輸入圖片說明

      <TouchableOpacity style={styles.containerLong} onPress={onPress}>
        <Text style={styles.text}>{text}</Text>
        <MaterialCommunityIcons name="menu-down" size={10} />
      </TouchableOpacity>

此外,我創建了一個名為FilterModal.js的模態組件,其中包含觸發模態的 useState: 在此處輸入圖片說明

const FilterModal = ({ text, onPress }) => {
  const [modalVisible, setModalVisible] = React.useState(false);

App Screen 上,我包含了組件和 FilterModal 但我無法在這 3 之間建立聯系。

我想要的是,當用戶點擊 SelectBoxLong 時,模態觸發模態,模態的標題獲取按鈕的標題

在此處輸入圖片說明

我試過

- 在 Modal 內部創建一個觸發 Modal 的函數

- 將 useState 作為道具傳遞

應用畫面:

const [modalVisible, setModalVisible] = React.useState(false);
const [buttonTitle, setButtonTitle] = React.useState(‘’);

onPress = () => {
  setModalVisible(true);
}


render(){
    return(
        ……
        <SelectBoxLong.js onPress={onPress} text={text}/>
        <FilterModal modalVisible={modalVisible} onPress={onPress} text={buttonTitle} />
        ….
    );
}

FilterModal.js

const FilterModal = ({ modalVisible , text, onPress }) => {
  const [modalVisible, setModalVisible] = React.useState(modalVisible);


  useEffect(() => {
    setModalVisible(modalVisible);
  }, [modalVisible]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM