检查JSX中的空字符串

los*_*193 4 string reactjs react-jsx redux

在React/JSX中是否有办法检查用户的输入字符串是否为空?

Component.js

{((this.props.description.name ==" ")||(this.props.description.name.length==""))? 
Run Code Online (Sandbox Code Playgroud)

当用户输入任何内容或空字符串长度为1个空格时,此条件有效,但如果空字符串长度超过1个空格,则失败.有没有JSX技巧检查这个或我应该在我的reducer中处理这个?

Li3*_*357 15

你可以检查修剪过的字符串:

{this.props.description.name.trim() == ""}
Run Code Online (Sandbox Code Playgroud)

这会修剪字符串(删除空格和换行符),然后检查它是否为空字符串.这是CodePen演示.


Hie*_*ran 6

您可以轻松修剪文本并与空字符串进行比较。让我们尝试一下:

{((this.props.description.name.trim() =="") || (this.props.description.name.trim().length==0))
Run Code Online (Sandbox Code Playgroud)

看看它是如何工作的。我看到你提醒了Reducer?你正在使用 Redux,不是吗?如果您使用 Redux 来处理表单数据,您可以使用 Redux Form ( https://github.com/erikras/redux-form ) 来节省您的时间。