小编Per*_*tic的帖子

不使用导航道具进行导航 - typescript 类型

我正在尝试将 React Navigation 6.x 包含到带有 Redux 的 React Native 项目中,因此需要能够从外部组件访问导航器。

我正在遵循本指南(不使用导航道具进行导航),并且具有与示例中基本相同的代码,其功能正常:

import { createNavigationContainerRef } from '@react-navigation/native';

export const navigationRef = createNavigationContainerRef()

export function navigate(name, params) {
  if (navigationRef.isReady()) {
    navigationRef.navigate(name, params);
  }
}
Run Code Online (Sandbox Code Playgroud)

不过我也在使用 Typescript。

React Navigation 还有一个关于集成 Typescript 的指南(使用 TypeScript 进行类型检查),它展示了如何输入导航引用本身,这也很好用:

export const navigationRef = createNavigationContainerRef<RootStackParamList>();
Run Code Online (Sandbox Code Playgroud)

不过,没有输入该navigate函数的示例,而且我无法让任何东西发挥作用。

我认为解决方案是复制navigationRef.navigate()方法的类型(此处定义)并将其简单地应用于包装函数:

// navigationRef.navigate() typing...
//
// navigate<RouteName extends keyof ParamList>(
//   ...args: undefined extends ParamList[RouteName]
//     ? [screen: RouteName] | [screen: …
Run Code Online (Sandbox Code Playgroud)

typescript react-native react-navigation react-navigation-v6

4
推荐指数
1
解决办法
2428
查看次数

Python - 替换字符串中的字母?

我基本上写了一个简单的函数,用户输入一个句子(strng),一个字母(letter)和另一个字母(replace)来替换第一个字母.这就是我所拥有的:

def letter_replace(strng, letter, replace):
    replace = str(replace)
    for char in strng:
        if char == letter.upper() or char == letter.lower():
            strng.replace(char, replace)
            return strng
        else:
            return "Sorry, the letter could not be replaced."
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么这不起作用.对不起,如果这是一个完全明显的错误,我对Python很新.谢谢

python

2
推荐指数
1
解决办法
2896
查看次数

在Python中用字符串中的每个其他字母大写?

我一直在尝试定义一个函数,它会将所有其他字母大写,并将空格转换为例如:

print function_name("Hello world")应打印"HeLlO wOrLd"而不是"HeLlO WoRlD"

我希望这是有道理的.任何帮助表示赞赏.

谢谢,奥利

python

1
推荐指数
1
解决办法
1万
查看次数