Javascript 创建一个函数以使用React Native';标题框';

Javascript 创建一个函数以使用React Native';标题框';,javascript,reactjs,typescript,react-native,title-case,Javascript,Reactjs,Typescript,React Native,Title Case,我正试图从用户那里获得一些输入,以便自动成为标题框。代码在我看来很可靠,但似乎没有给我真正想要的输出。它没有将第一个字母作为大写字母连接起来。这是生成输入标题大小写的代码 export function titleCase(str: string): string { return !str ? "" : str.toLowerCase() .split(" ") .map(function(word: st

我正试图从用户那里获得一些输入,以便自动成为标题框。代码在我看来很可靠,但似乎没有给我真正想要的输出。它没有将第一个字母作为大写字母连接起来。这是生成输入标题大小写的代码

export function titleCase(str: string): string {
    return !str
        ? ""
        : str.toLowerCase()
            .split(" ")
            .map(function(word: string): string {
                return word && word.length > 0 ? word.replace(word[0], word[0].toUpperCase()) : ""
            })
            .join(" ")
}
然后我在视图标记中调用它,就像这样

<Text style={styles.providerNameTxt}>
    {Scenes.Detail.titleCase(providerName)}
</Text>
<Text style={styles.providerSpecialtyTxt}>
    {Scenes.Detail.titleCase(providerSpecialty)}
</Text>

{Scenes.Detail.titleCase(提供者名称)}
{Scenes.Detail.titleCase(ProviderSpeciality)}
这不管用吗?当用户转到输入(providerName)时,输入不会自动将第一个字母大写。我不知道为什么。该文件名为detail.ts,位于util/scenes文件夹下。所以使用“Scenes.detail”应该调用函数。除非我的功能是错误的。 此外,在scenes/detail.ts中,titleCase有一个导出默认值。它之前不在那里,所以我添加了它,但它仍然不能像我希望的那样工作。

试试看
str.replace(/\b(\w)/g,k=>k.toUpperCase())
在任何字符串
str
上,用空格分隔单词。

尝试
export const toTitleCase = (str) => {
 return str.replace(
     /\w\S*/g,
     (txt) => {
         return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
     }
 );
}
str.replace(/\b(\w)/g,k=>k.toUpperCase())

在任何字符串
str
上,单词之间用空格分隔。

场景中访问
标题库
是没有意义的。详细信息
。您能否显示
标题库
的导入语句?在
场景中访问
标题库
是没有意义的。详细信息
。你能展示你对
标题库的导入声明吗?请解释你的答案,以及它是如何解决问题的。请解释你的答案,以及它是如何解决问题的。
export const toTitleCase = (str) => {
 return str.replace(
     /\w\S*/g,
     (txt) => {
         return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
     }
 );
}