URI和之间有什么区别URI.parse?这是我得到的:
require 'uri'
x = "http://google.com"
y = URI(x) # => #<URI::HTTP http://google.com>
z = URI.parse(x) # => #<URI::HTTP http://google.com>
y == z # => true
Run Code Online (Sandbox Code Playgroud)
我在文档中看到的新实例无需检查即可从通用组件URI创建新URI::Generic实例,并且在args中具有默认解析器。
一般建议似乎是URI.parse,我想知道为什么。我想知道是否有使用URI和不使用的陷阱URI.parse。赞赏任何见识。
是否有一种众所周知的模式可以将动态初始状态的负载注入 Redux-Toolkit 的 initialState 对象?
也就是说,我想这样做 -
import initialState from './initialState';
function generateSlice(payload = {}){
const postsSlice = createSlice({
name: 'posts',
initialState: {...initialState, ...payload}, /// inject data here
reducers: {...}
})
}
Run Code Online (Sandbox Code Playgroud)
例如,{availableRooms: []}是一个空数组,除非在 init 上注入数据{availableRooms: [{...}]}
这种模式不起作用,但是,b/c 我想将操作导出为可调度的,就像这样-
const postsSlice = createSlice({
name: 'posts',
initialState: {...initialState, ...payload},
reducers: {...}
})
export {actionName} from postsSlice.actions;
*****
import {actionName} from '../mySlice'
...
const dispatch = useDispatch();
dispatch(actionName('exampleVal'));
...
Run Code Online (Sandbox Code Playgroud)
我受到airbnblinting 规则的限制,所以我不能导出 -
let actions; ///Bad
function generateSlice(payload){ …Run Code Online (Sandbox Code Playgroud) 这里是做题的打字稿getter / setter方法取样:从2015年开始,2018年1月,2018年9月,等等。
也就是说,在 vanilla JS 对象中为 getter/setter 定义 Typescript 类型的推荐方法是什么?也就是说,我想要一个没有class语法的普通旧 javascript 对象,并了解打字的最佳实践。界面是这样的——
interface Store {
activeEvent: Date
}
Run Code Online (Sandbox Code Playgroud)
这个对象的一些限制 -
否new实例化
没有重复 - 这不起作用
const Store: Store = {
activeEvent: new Date(),
get activeEvent() {
return this.activeEvent;
},
}
Run Code Online (Sandbox Code Playgroud)
没有悬垂的下划线。Airbnb 的 eslint 配置对此大喊大叫 -
const Store: Store = {
_activeEvent: {},
get activeEvent() {
return this._activeEvent;
},
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望有默认值(也就是说,如果我放下密钥,错误就会消失,但在第一次访问时activeEvent未定义)。我想我可以初始化并返回 this.activeDate如果它是未定义的,这有效,但get实际上get&set在那种情况下 - …