我正在尝试跨平台尽可能多地使用代码。我已经渲染了一些input
元素,它们是由同一容器元素渲染的。
在React中,我是这样处理的:
handleFieldChange(fieldName, evt) {
const { formValues } = this.state;
formValues[fieldName] = evt.target.value; // This line differs
this.setState({ formValues });
}
但是在React Native中:
evt.target
是一个数字,看来唯一的方法是这样做:
handleFieldChange(fieldName, evt) {
const { formValues } = this.state;
formValues[fieldName] = evt.nativeTarget.text; // This line differs
this.setState({ formValues });
}
我可以在任何平台上使用任何代码吗?
答案 0 :(得分:0)
我建议制作一个通用的InputField组件,以检查您正在使用的平台并呈现相应的组件,在该组件中,您应该根据平台来处理事件。将使用此新组件的其他组件完全不关心平台。