我有一个类似的反应成分
const Example = () => (<View>...</View>);
使用react-navigation我通常会通过说来应用导航选项
Example.navigationOptions = { options };
使用打字稿我得到了错误
[ts] Property 'navigationOptions' does not exist on type '(props: Props) => Element'.
我怎样才能解决这个问题?
我尝试编写一个界面
interface ExampleWithNavigationOptions extends Element {
navigationOptions?;
}
但是没有运气。
关键思想是为Example
常量指定正确的类型。可能react-navigation
已经提供了该类型。但是,您也可以这样扩展内置React
接口:
interface NavStatelessComponent extends React.StatelessComponent {
navigationOptions?: Object
}
const Example: NavStatelessComponent = () => {
return (
<View>
...
</View>
)
}
Example.navigationOptions = {
/*
...
*/
}
Example.propTypes = {
/*
...
*/
}
问题内容: 结合使用TypeScript和React,我们不再需要扩展,以使编译器知道所有react组件prop都可以有子代: 但是,无状态功能组件似乎并非如此: 发出编译错误: 错误:(102、17)TS2339:类型“ MyProps”上不存在属性“子级”。 我猜这是因为编译器实际上没有办法知道在props参数中将提供香草函数。 所以问题是我们应该如何在TypeScript的无状态功能组件中使
使用带有React的TypeScript,我们不再需要扩展,以便编译器知道所有React组件Props都可以有子级: 然而,无状态功能组件似乎不是这样: 发出编译错误: 错误:(102,17)TS2339:类型“MyProps”上不存在属性“children”。 我想这是因为编译器真的无法知道在props参数中会给出
提前谢了。我有一个状态数组,如下所示。 我需要添加一个项目到状态数组,我发现我们不需要做状态突变。如何使用PrevState设置状态。 如何调用set State以追加此状态数组。 像这样的东西?
问题内容: 我知道将状态设置为打开是一种反模式,应该将状态设置为打开,但是假设我想将标记数量的长度设置为状态。在那种情况下,我无法将状态设置为on,因为在该阶段可能未安装标签。那么,这里最好的选择是什么?如果将状态设置为开启,会好吗? 问题答案: 这不是一个反模式调用在。实际上,ReactJS在其文档中提供了一个示例: 您应该在componentDidMount生命周期方法中使用AJAX调用填充数
是否有方法将defaultValue传递给状态?我也尝试了value={},但值根本不变。
我需要使用父组件中子组件内部的状态值。 组成部分: 这是父组件: