Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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 仅禁用带有react native的嵌套活动文本框中的“发送”按钮_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 仅禁用带有react native的嵌套活动文本框中的“发送”按钮

Javascript 仅禁用带有react native的嵌套活动文本框中的“发送”按钮,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我正在开发一个react原生移动应用程序,它显示用户可以评论的提要。对于每个提要,都有一个文本框和一个提交,用户可以在其中发表评论,默认情况下,每个提交按钮都被禁用,直到收到一个值为止 我目前面临的问题是,当用户开始键入第一个文本框时,每行中的所有发送按钮都会激活,而且在数据发送到服务器后,文本框仍然保持活动状态 Screen.js constfeedsscreen=({posts,showLoader,onCommentPost,onSetComment,isEnabled})=>( {po

我正在开发一个react原生移动应用程序,它显示用户可以评论的提要。对于每个提要,都有一个文本框和一个提交,用户可以在其中发表评论,默认情况下,每个提交按钮都被禁用,直到收到一个值为止

我目前面临的问题是,当用户开始键入第一个文本框时,每行中的所有发送按钮都会激活,而且在数据发送到服务器后,文本框仍然保持活动状态

Screen.js

constfeedsscreen=({posts,showLoader,onCommentPost,onSetComment,isEnabled})=>(
{posts.length==0&&showLoader==false(
还没有此组的帖子
):null}
{posts.map((项目,i)=>{
返回(
{item.text}
{
邮递员(项目);
}}
/>
);
})}
);

导出默认feedsScreen可以同时有多篇文章,因此您应该为每篇文章保存评论

isEnabled={isEnabled}
步骤1:状态变化。将评论另存为对象,每个帖子的索引/id为键

state = {
    comment: {}
  };
步骤2:更改onChangeText={onSetComment}函数并传递项的索引

<TextInput
            onChangeText={(comment) =>  onSetComment(comment,i)}
            .......
          />
第4步:从主要部件上拆下isEnabled道具

isEnabled={isEnabled}
步骤5:在Screen.js中发送commentValue prop receive时,检查每个项目的启用状态

const feedsScreen = ({commentValue, posts, showLoader, onCommentPost, onSetComment, isEnabled }) => (
......

{posts.map((item, i) => {
const isEnabled = commentValue[i] &&  commentValue[i].length > 0;
.........

你能更详细地描述一下它的来历吗?显示日志当在文本框1中输入字母时,按钮处于活动状态,多个字符激活后续按钮