react-native - 编辑未在 react-native 中填充的屏幕字段
问题描述
当用户点击列表中的行时,我尝试打开相关记录的编辑屏幕。我在调试器中看到所有道具都成功通过了,但不知何故我无法在屏幕上显示它们。我搜索了很多,我认为主要问题在于 onRowPress 助手。当我按下该行时,我在调试器中看到所有道具都已正确传递。但是有一个错误说
道具类型失败:提供给
value
的道具类型无效,预期为。array
TextInput
string
我的问题是我应该如何处理这个错误。
onRowPress() {
console.log(this.props.employee);
Actions.employeeEdit({ employee: this.props.employee });
}
解决方案
这需要时间,但我解决了这个问题。主要问题是以下错误;
道具类型失败:提供给 TextInput 的类型数组的道具值无效,应为字符串。
我按照所有代码一步一步地进行操作,发现使用我传递的值更新道具的减速器无法做到这一点。我在 actions.payload.value 中添加了一个 toString() 方法,一切正常。您必须将字符串传递给 Input 组件。
export default (state = INITIAL_STATE, action) => {
switch (action.type) {
case EMPLOYEE_UPDATE:
return { ...state, [action.payload.prop]: action.payload.value.toString() };
case EMPLOYEE_CREATE:
return INITIAL_STATE;
case EMPLOYEE_SAVE_SUCCESS:
return INITIAL_STATE;
default:
return state;
}
};
推荐阅读
- php - 用户使用 PHP PDO 和 AJAX 登录
- angular - 将 TypeScript 全局变量与 SharePoint 函数一起使用
- android - 如何将我的按钮设置为背景的随机颜色。安卓
- redis - Redis“模式:可靠队列”的代码实现
- docker - 我们可以在没有命令行访问的情况下对 Kubernetes 中的容器进行交互和故障排除吗?
- javascript - 如何使用 jq 使用嵌入的、转义/字符串化的 JSON 格式化 JSON(对于任何/所有结构)?
- java - Assimp 骨骼动画变成了三角混乱
- php - Woocommerce 电子邮件新帐户模板通知名字
- excel - 表中的 VBA 多列引用
- sql - 外键“id_client”在引用表“nrcomanda”中引用了无效列“id_client”