本文整理汇总了TypeScript中mobx-state-tree.getPath函数的典型用法代码示例。如果您正苦于以下问题:TypeScript getPath函数的具体用法?TypeScript getPath怎么用?TypeScript getPath使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getPath函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: addMiddleware
addMiddleware(node, (call, next) => {
// only actions for now
const skip = call.type !== "action"
// skip this middleware?
if (skip) {
return next(call)
}
// userland opt-out
const shouldSend = mstFilter(call)
if (!shouldSend) {
return next(call)
}
// grab the arguments
const args = convertUnsafeArguments(call.args)
const path = getPath(call.context)
// action related data
const action = { args: args, name: call.name, path }
// mst internal data
const mstPayload = {
id: call.id,
parentId: call.parentId,
rootId: call.rootId,
type: call.type,
modelType: getType(node),
alive: isAlive(node),
root: isRoot(node),
protected: isProtected(node),
}
// start a timer
const elapsed = reactotron.startTimer()
// chain off to the next middleware
const result = next(call)
// measure the speed
const ms = elapsed()
// add nice display name
const displayPath = replace(/^\./, "", replace(/\//g, ".", path))
let name = replace(/^\./, "", `${nodeName ? nodeName : ""}${displayPath}.${call.name}()`)
name = replace("/", ".", name)
// fire this off to reactotron
if (!restoring) {
reactotron.send("state.action.complete", {
name,
action,
mst: mstPayload,
ms,
})
}
// return the result of the next middlware
return result
})
示例2: actionLogger
export function actionLogger(call: IMiddlewareEvent, next: any) {
const skip =
(call.type === "action" && call.parentId !== 0) ||
call.type === "flow_resume" ||
call.type === "flow_resume_error"
if (!skip)
console.log(`[MST] #${call.rootId} ${call.type} - ${getPath(call.context)}/${call.name}`)
return next(call)
}
示例3: simpleActionLogger
export default function simpleActionLogger(call: IMiddlewareEvent, next: any) {
if (call.type === "action" && call.parentId === 0)
console.log("[MST] " + getPath(call.context) + "/" + call.name)
return next(call)
}