首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从另一个组件访问更改组件的te状态

如何从另一个组件访问更改组件的te状态
EN

Stack Overflow用户
提问于 2022-08-05 11:48:40
回答 2查看 50关注 0票数 0

任何人都知道如何从组件SetIsOpen中更改BottomSheetBtn的真正值?我想我试过了我知道的每一件事,但结果我不可能

代码语言:javascript
复制
import { StyleSheet, Text, View } from 'react-native';
import BottomSheet, {BottomSheetView} from '@gorhom/bottom-sheet';
import { TextInput } from 'react-native-gesture-handler';
import BottomSheetBtn from './BottomSheetBtn';


export default function UserInksBottomSheet(){
   
   const sheetRef = useRef<BottomSheet>(null);
   const [isOpen, SetIsOpen] = useState(true);
   
   const snapPoints = ['60%','90%']

   return(
      <BottomSheet
         ref={sheetRef}
         snapPoints={snapPoints}
      >
         <BottomSheetView style={styles.container}>
            BOTTOMSHEET CONTENT
            <BottomSheetBtn/> <--- This button is which needs to change the state
         </BottomSheetView>
      </BottomSheet>

   );
}```
EN

回答 2

Stack Overflow用户

发布于 2022-08-05 11:54:28

只需将其作为主要组件中的道具传递:

代码语言:javascript
复制
<BottomSheetBtn isOpen={isOpen} SetIsOpen={SetIsOpen}/>

将BottomSheet组件中的值更改为正则函数:

代码语言:javascript
复制
const changeValue = () => props.SetIsOpen(!props.isOpen)
票数 0
EN

Stack Overflow用户

发布于 2022-08-05 12:22:04

将setIsOpen函数传递给BottomSheetBtn组件的onPress功能。

代码语言:javascript
复制
<BottomSheetBtn onPress={() => SetIsOpen(!isOpen)}/> // this will provide the toggle functionality. 

然后将onPress道具传递给BottomSheetBtn主体中的TouchableOpacity或Button组件。

代码语言:javascript
复制
<TouchableOpacity onPress={props.onPress} >
{...}
</TouchableOpacity>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73249292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档