javascript - 在本机反应中使用redux将输入从大写转换为小写
问题描述
我正在尝试使用输入删除所有空格。实际上,输入与 redux 结合在一起,只要有 onChangeText ,它就会成为动作的道具,然后从道具中获取价值。
我需要在输入完成后或输入时删除所有空格。但无法做到这一点。
我的表格代码:
<FormInput
underlineColorAndroid='#2980b9'
placeholder='Having Promo Code ? Enter here !'
onChangeText={value => this.props.onCouponCodeChanged(value)}
value={this.props.enteredCode}
/>
我的 Redux 操作:
export const onCouponCodeChanged = (value) => {
return {
type: COUPON_CHANGED,
payload: value
}
};
我的减速机:
const INITIAL_STATE = { enteredCoupon: '' }
export default (state=INITIAL_STATE, action) => {
switch (action.type) {
case COUPON_CHANGED:
return {
...state,
enteredCoupon: action.payload,
errorForCoupon: ''
};
...
}
如何删除所有空格?当我在行动中这样做时,它会很活跃。我只想删除而不向用户显示
解决方案
当您将其设置为 state 时,在您的减速器中执行此操作
const INITIAL_STATE = { enteredCoupon: '' }
export default (state=INITIAL_STATE, action) => {
switch (action.type) {
case COUPON_CHANGED:
return {...state, enteredCoupon: action.payload.replace(/ /g,''), errorForCoupon:
''};
.....
}
只要确保你直接从状态绑定输入的值
编辑
如果您想以这种方式保留它,那么也许您希望仅在实际使用该优惠券时才删除空格,例如,如果您想在 json 的后端构建中应用优惠券,那么只需使用相同的逻辑对其进行转换,例如例子
const transformedCoupon = coupon.replace(/ /g,'');
applyCoupon(transformedCoupon)
推荐阅读
- java - 我想用静态照片替换最近使用的应用程序页面上的屏幕截图
- text-to-speech - 使用 google cloud api 时的计费/配额问题
- c++ - 错误 C2085:'int_fast63_t': 不在形式参数列表中
- android - 当我将 Kotlin 用于 Google Play 时,是否需要添加实现 'com.android.billingclient:billing-ktx:2.1.0'?
- android - 从其他包启动前台服务
- elasticsearch - Elasticsearch - 匹配嵌套对象数组中的所有子项
- android - 在 Android 中共享 pdf 文件时文件名未更改
- c++ - 写在向量中
带for循环 - javascript - 未使用的默认导出 - React Native
- sms - SMPP 协议中的节流错误出现在哪里?