const Component = () => (<div></div>) 和 const Component = () => {return(<div></div>)}是一样的吗反应?
Is const Component = () => (<div></div>) the same as const Component = () => {return(<div></div>)} in React?
我猜它们是相同的,因为输出相同,但它是 Redux 中的官方 shorthand 还是 Javascript 属性?我正在关注 Redux documentation 并且有一个这样的组件:
const App = () => (
<div>
<AddTodo />
<VisibleTodoList />
<Footer />
</div>
)
还有另一个组件:
const AddTodo = ({ dispatch }) => {
let input
return (
<div>
<form
onSubmit={e => {
e.preventDefault()
if (!input.value.trim()) {
return
}
dispatch(addTodo(input.value))
input.value = ''
}}
>
<input ref={node => (input = node)} />
<button type="submit">Add Todo</button>
</form>
</div>
)
}
我想知道这是否与 Javascript 或 React 有关。
我理解在Javascript中,箭头函数需要有一个() like
(name, description) => ({name: name, description: description});
描述它是一个对象而不是内联单表达式语法的普通函数,但我不确定这是否适用于 Redux 示例,因为 JSX 部分不是对象。请帮我解决我的错误。
简短的回答,是的,因为 JSX 和 React 遵循 JavaScript 使用的完全相同的语法,因为 JSX 只是 React 的语法扩展。您可以通过 here.
阅读更多关于 JSX 的内容
此外,关于你关于 redux 的观点,你的 redux 应该完全用 JavaScript(或 TypeScript)编写,没有任何 JSX 语法,因为你的 redux store 的主要 objective 是维护应用程序的状态,而不是呈现逻辑。
主要是为了便于阅读,你可以省略括号,它的功能是一样的
const App = () =>
<div>
<AddTodo />
<VisibleTodoList />
<Footer />
</div>
但是当你在组件内部有一个主体并且想要 return JSX 换行时你必须用括号括起来以避免 ASCI(自动分号插入)
const App = () => {
const x = 'something'
return (
<div>
<AddTodo />
<VisibleTodoList />
<Footer />
</div>
)
}
我猜它们是相同的,因为输出相同,但它是 Redux 中的官方 shorthand 还是 Javascript 属性?我正在关注 Redux documentation 并且有一个这样的组件:
const App = () => (
<div>
<AddTodo />
<VisibleTodoList />
<Footer />
</div>
)
还有另一个组件:
const AddTodo = ({ dispatch }) => {
let input
return (
<div>
<form
onSubmit={e => {
e.preventDefault()
if (!input.value.trim()) {
return
}
dispatch(addTodo(input.value))
input.value = ''
}}
>
<input ref={node => (input = node)} />
<button type="submit">Add Todo</button>
</form>
</div>
)
}
我想知道这是否与 Javascript 或 React 有关。
我理解在Javascript中,箭头函数需要有一个() like
(name, description) => ({name: name, description: description});
描述它是一个对象而不是内联单表达式语法的普通函数,但我不确定这是否适用于 Redux 示例,因为 JSX 部分不是对象。请帮我解决我的错误。
简短的回答,是的,因为 JSX 和 React 遵循 JavaScript 使用的完全相同的语法,因为 JSX 只是 React 的语法扩展。您可以通过 here.
阅读更多关于 JSX 的内容此外,关于你关于 redux 的观点,你的 redux 应该完全用 JavaScript(或 TypeScript)编写,没有任何 JSX 语法,因为你的 redux store 的主要 objective 是维护应用程序的状态,而不是呈现逻辑。
主要是为了便于阅读,你可以省略括号,它的功能是一样的
const App = () =>
<div>
<AddTodo />
<VisibleTodoList />
<Footer />
</div>
但是当你在组件内部有一个主体并且想要 return JSX 换行时你必须用括号括起来以避免 ASCI(自动分号插入)
const App = () => {
const x = 'something'
return (
<div>
<AddTodo />
<VisibleTodoList />
<Footer />
</div>
)
}