我有一个组件,我想默认将其呈现为h2
. 如果他们愿意,我希望消费者能够指定不同的元素。下面的代码导致错误:
TS2604 - JSX element type 'ElementType' does not have any construct or call signatures
我想我明白为什么它会失败,TS 期望渲染一个 React 节点。为清楚起见,只要变量以大写字母开头(这是 JSX 要求),React就能够呈现作为字符串引用的元素。我之前在 vanilla JS + React 中成功做到了这一点,我只是不知道如何满足 TypeScript。
我怎样才能让 TypeScript 在不诉诸于的情况下呈现这个 elementType?: any
import React, {ReactNode} from 'react'
interface Props {
children: ReactNode;
elementType?: string;
}
export default function ({children, elementType: ElementType = 'h2'}: Props): JSX.Element {
return (
<ElementType>{children}</ElementType>
);
}
Run Code Online (Sandbox Code Playgroud) 我正在使用React Navigation构建抽屉,并且如果用户关闭抽屉,则想要执行一些逻辑.我没有在文档中看到任何可以让我这样做的明显内容.有人知道这样做的方法吗?
我正试图从其中一个儿童简单产品的SKU或ID中获取父可配置产品SKU.我的理解是,一个简单的可以属于多个配置,但我希望特定的可配置客户添加到他们的购物车.我读了一个相关的问题,但它获得了所有父配置.
我正在使用Magento EE 1.12
编辑:关于我正在做什么的更多细节.当客户成功结账时,我试图获得SKU的简单和可配置的客户签出.
试图将代码应用于:
app/design/frontend/enterprise/mytheme/template/checkout/success.phtml
Run Code Online (Sandbox Code Playgroud) 我有一个图像,我想成为设备屏幕的全宽。
仅使用一个视图我就可以实现:
<View style={{flex:1}}>
<Image resizeMode="contain" style={{flex: 1, height: undefined, width: undefined}} source={this.props.images.infoImage} />
</View>
Run Code Online (Sandbox Code Playgroud)
将此更改为 ScrollView 会导致图像完全停止渲染:
<ScrollView style={{flex:1}}>
<Image resizeMode="contain" style={{flex: 1, height: undefined, width: undefined}} source={this.props.images.infoImage} />
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
我发现如果我在图像上设置一个高度,它会呈现......但我希望图像动态响应设备的大小。
如何在不声明明确高度的情况下解决这个问题?
javascript ×2
reactjs ×2
image ×1
magento ×1
react-native ×1
scrollview ×1
skus ×1
typescript ×1