小编Or *_*har的帖子

带有打字稿的 React 路由器 v5 上所需的 url 参数,可以未定义

我正在使用带有 TypeScript 的 react-router v5.1 并具有以下路由配置:

<Router basename="/" hashType="slash">
    <Switch>
        <Route path="/token/:tokenName">
            <TokenPage />
        </Route>
    </Switch>
</Router>

Run Code Online (Sandbox Code Playgroud)

我尝试访问组件中的 url 参数(tokenName),使用 useParams 钩子,如下所示:

const TokenPage: FC<TokenPageProps> = props => {
    const { tokenName } = useParams()
    ...
}

Run Code Online (Sandbox Code Playgroud)

但是,打字稿认为tokenNameparam 可以是未定义的:

错误的 tokenName 输入

这是没有意义的,因为如果 URL 中缺少参数,则反应路由器将不匹配此路由。

在这种情况下,我该如何解决打字问题?

types typescript react-router

41
推荐指数
2
解决办法
2万
查看次数

如何为多个npm存储库创建共享的package.json

我正在使用分离的微服务构建我的应用程序,每个服务都有自己的存储库和npm依赖项,可能在不同的服务器上.

我正在寻找一种方法将所有依赖项放在一个package.json可以通过url访问的全局文件中,这样,我可以更新共享依赖项版本,而无需运行所有不同的微服务,并通过一个更新它们一.

可能吗?

node.js npm

10
推荐指数
1
解决办法
3943
查看次数

将子项拉伸至 100% 宽度和高度而不更改子项规则

当父级为 时display: flex;,有没有办法强制其子级将自身拉伸到父级宽度和高度的 100%,而不访问子级的 props?

我找到了align-items: stretch;垂直拉伸的方法,但找不到水平拉伸的方法。

css flexbox

7
推荐指数
2
解决办法
1万
查看次数

需要帮助来构建Eloquent Many to Many关系(laravel 5.1)

我正在尝试构建一个'facebook groups'样式应用程序,其中包含充满成员的组,每个成员都有一个成员类型(例如admin,officer,user ..),每个组都有其组类型(public,closed,secret ).

所以我创建了几个表:

users - (id, name ..)
groups - (id, name, group_type_id ..)  
group_types - (id, type)
group_members - (user_id, group_id, membership_type_id)
group_membership_types - (id, type)
Run Code Online (Sandbox Code Playgroud)

我相信这是构建数据库的正确方法(如果我错了,请纠正我).

现在我需要将它转换为Eloquent模型,所以我创建了模型,但在尝试建立它们之间的关系时真的很困惑,我读到了'pivot'和'hasManyThrough'并且更加混乱.

这些是我到目前为止创建的模型:

class Group extends BaseModel
{ 
    protected $table = 'groups';

    public function Members() {
        return $this->belongsToMany('App\GroupMemeber');
    }

    public function Type() {
        return $this->belongsTo('App\GroupType');
    }
}
Run Code Online (Sandbox Code Playgroud)

-

class GroupType extends BaseModel
{
   protected $table = 'group_types';

   protected $guarded = ['id', 'type'];

}
Run Code Online (Sandbox Code Playgroud)

-

class GroupMemebershipType extends BaseModel
{
    protected $table …
Run Code Online (Sandbox Code Playgroud)

php mysql eloquent laravel-5 laravel-5.1

6
推荐指数
1
解决办法
416
查看次数

赛普拉斯-等待由UI操作触发的xhr请求

我有一个带有select元素的应用程序,更改选择值时,页面会发出XHR请求以加载一些数据并将其插入到表中。我希望赛普拉斯等到请求结束,然后在表上呈现数据之后,再检查表行数。

这是我目前拥有的代码:

    cy.get('[name="pageselct"]').select('300'); // fire a request to load data

    // the below line get executed before the data actually loaded: 
    const totalTableRows = cy.get('#listingsData > tr').length; 
Run Code Online (Sandbox Code Playgroud)

我该如何实现?

cypress

3
推荐指数
1
解决办法
2801
查看次数