Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何防止退格出现额外的“问题”;r";信_Javascript_Typescript_React Redux - Fatal编程技术网

Javascript 如何防止退格出现额外的“问题”;r";信

Javascript 如何防止退格出现额外的“问题”;r";信,javascript,typescript,react-redux,Javascript,Typescript,React Redux,目前,我正在开发一个输入框,其中输入框将输入Reddit链接 我的输入框编码为,当用户键入字符时,前面会有一个默认的r/,后面是用户输入 然而,现在我面临的问题是,每当用户退格时,当输入框留下r/时,每当用户点击退格时,r/后面会出现一个额外的r。e、 g.r/r 以下是我的代码片段: case getType(ViewerAction.changeInputSubredditAddNewSource): { const s = action.payload.inputS

目前,我正在开发一个输入框,其中输入框将输入Reddit链接

我的输入框编码为,当用户键入字符时,前面会有一个默认的
r/
,后面是用户输入

然而,现在我面临的问题是,每当用户退格时,当输入框留下
r/
时,每当用户点击退格时,
r/
后面会出现一个额外的
r
。e、 g.
r/r

以下是我的代码片段:

case getType(ViewerAction.changeInputSubredditAddNewSource): {
            const s = action.payload.inputSubredditAddNewSource.split('/').slice(1).join('');

            if (action.payload.inputSubredditAddNewSource.indexOf('r/') === 0) {            
                return state.set('inputSubredditAddNewSource', `r/${s}`);
            }         
                const st = action.payload.inputSubredditAddNewSource;
                return state.set('inputSubredditAddNewSource', `r/${st}`);
        }

这应该在组件中处理,而不是在redux中处理。您的输入应该在单击退格按钮时进行检测,如果字段为空(仅为“r/”),则不要更新字段的值


当新输入的
值.length
小于2(第一个字符:“r”,第二个字符:“/”)时,只需在输入的onChange处理程序中添加if语句即可-不要更新该值-否则,请更新。

这应该在组件中处理,而不是在redux中处理。您的输入应该在单击退格按钮时进行检测,如果字段为空(仅为“r/”),则不要更新字段的值


当新输入的
值.length小于2(第一个字符:“r”,第二个字符:“/”)时,只需在输入的onChange处理程序中添加if语句即可-不要更新值-否则,更新。

只要用户输入内容,就可以用空字符串替换前导的
r/
。这样,您就可以扭转问题,并始终在处理代码中添加
r/
。您可以做的是,每当用户输入某个内容时,用空字符串替换前导的
r/
。这样,您就可以扭转问题,并始终在处理代码中添加
r/