我正在学习React自己的在线教程.
所以这是使用React Router的基本示例:
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Home}/>
<Route path="/home" component={Home}/>
<Route path="/about" component={About}/>
<Route path="/contact" component={Contact}/>
</Route>
</Router>
Run Code Online (Sandbox Code Playgroud)
使用我的App组件:
class App extends React.Component {
render() {
return (
<div>
<ul>
<li><Link to="home">Home</Link></li>
<li><Link to="about">About</Link></li>
<li><Link to="contact">Contact</Link></li>
</ul>
{this.props.children}
</div>
)
}
}
export default App;
Run Code Online (Sandbox Code Playgroud)
但是,我在使用IndexRoute时遇到问题,因为它没有显示任何内容,所以我在npm上搜索react-router-dom v4的模块,里面没有IndexRoute.相反,它使用这个:
<Router>
<div>
<ul>
<li><Link to="/">Home</Link></li>
<li><Link to="/about">About</Link></li>
<li><Link to="/contact">Contact</Link></li>
</ul>
<hr/>
<Route exact path="/" component={Home}/>
<Route path="/about" component={About}/>
<Route path="/contact" component={Contact}/>
</div>
</Router>
Run Code Online (Sandbox Code Playgroud)
那么如何为1条路径渲染2个组件呢?
我正在研究反应,我有一个这样的例子
//index.js
const store = createStore(reducer)
render(
<Provider store={store}>
<AddTodo />
</Provider>,
document.getElementById('root')
)
//Apptodo.js
import React from 'react'
import { connect } from 'react-redux'
import { addTodo } from '../actions'
let AddTodo = ({ dispatch }) => {
let input
return (
<div>
<form onSubmit={e => {
e.preventDefault()
if (!input.value.trim()) {
return
}
dispatch(addTodo(input.value))
input.value = ''
}}>
.......
Run Code Online (Sandbox Code Playgroud)
为什么不能得到this.pros.store
,只需调用dispatch()函数?
编辑:它是如何提取dispatch
的this.pros
.不是对象this.pros.store
吗?在这种情况下,为什么我们不提取store
?
谢谢.
今天我在 Typescript 中遇到了一些问题。
这个类型中的三个点是什么意思?我根本找不到任何可以解释这一点的东西。
知道它是 Redux 的 mergeReducers 函数返回的类型推断
编辑:我编辑了图片,以便我们看得更清楚。
EDIT2:我在这里添加代码,我正在尝试做这样的事情
let all: { readonly [key: string]: (...args: any) => any } = {
form,
metadatas_reducer,
loader_reducer
}
const combinedReducer = combineReducers(all)
Run Code Online (Sandbox Code Playgroud)
谢谢。
有没有办法初始化对象文字并同时声明其具有只读属性的接口?
例如
let a = { readonly b: 2, readonly c: 3 }
Run Code Online (Sandbox Code Playgroud) 有一些关于JS中的对象,执行上下文,我不明白.
当我们创建一个对象时,它是否创建了一个执行上下文?因为在调用函数时会创建执行上下文.如果没有,那么对象就像实际执行上下文中的其他变量一样?
谢谢.
我正在学习JS,我有类似的东西.
//all inside folder reducers
//reducer1.js
export default reducer1
//reducer2.js
export default reducer2
//index.js
import reducer1 from './reducer1'
import reducer2 from './reducer2'
//then combine reducer
export default index
//outside folder reducers
import reducer from './reducers'
Run Code Online (Sandbox Code Playgroud)
既然./reducers
只是一个文件夹,里面有3个导出默认的3个文件,我不明白这是怎么回事?它如何知道将导入文件夹中的哪个导出默认值?
谢谢.
javascript ×4
reactjs ×3
ecmascript-6 ×2
react-redux ×2
redux ×2
typescript ×2
node.js ×1
object ×1
react-router ×1