我有一个带有状态的React组件:
export const Toggle = ({initalValue, theme, ...otherProps}) => {
const [isToggle, setIsToggle] = useState(initalValue)
const toggleProps = {
initalValue: initalValue,
theme: theme
}
const handleClick = () => {
setIsToggle(!isToggle)
}
return (
<StyledToggle isToggle={isToggle} {...toggleProps}{...otherProps} onClick={handleClick}>
</StyledToggle>
)
}
我将此组件导入另一个文件中:
import {Toggle} from 'something'
//
<Toggle />
有没有一种方法可以访问isToggle
其他文件中的状态。如果不可能,还有其他选择吗?
有没有一种方法可以访问其他文件中的isToggle状态。
那是一种反模式。
另一种选择是提升状态并放入isToggle
父组件中。setIsToggle
然后可以作为道具传递给<Toggle/>
。
const Parent = () => {
const [isToggle, setIsToggle] = useState(initalValue);
useEffect(() => {
// do something
}, [isToggle]);
return (
<Toggle setToggle={setIsToggle} />
);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句