小编Sha*_*mad的帖子

在 React 路由器中无需重新渲染即可更改 URL

我正在开发一个应用程序,我需要在不导致重新渲染的情况下更改页面的 url。

我正在调用以获取像这样的 componentDidMount 中的所有页面

componentDidMount() {    
    axios.get('/pages')
      .then(response => {
        this.setState({
          pages: response.data,
          slugs: response.data.pages.map(item => Slug(item.title))
        })
      })
Run Code Online (Sandbox Code Playgroud)

拥有所有页面后,我想显示各个页面。例如。在url它必须像/page/1/slug-for-page-1/page/2/slug-for-page-2基于状态变量activePageNumber和活动页面的内容将被显示。相应的 slug 也应该在 url 上。

我尝试在 setState 之后添加一个回调,如下所示,但没有用。

() => this.props.history.push({
          pathName: '/page',
          state: {activePageNumber : activePageNumber},
        })
Run Code Online (Sandbox Code Playgroud)

我想添加一个子组件来管理 activePageNumber 状态,但我不确定它是否是最好的方法以及它是否会阻止重新渲染。

我可以实现它,以便每个页面向后端发出单独的请求,但我希望只调用一次,然后根据活动页码更新 url。

我不确定如何在反应中实现这一点。

我有以下版本

“反应路由器-dom”:“^ 5.0.0”

“反应”:“^ 16.8.6”

reactjs react-router

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

如何在 React 应用程序中排除全局样式?

我正在使用Material UI来构建我的 React 项目。

然而,有一个组件必须嵌入到不同的站点。意思是,我提供该组件的生产版本以将其嵌入到不同的站点。

我的React 应用程序的 css被该网站中定义的全局样式覆盖。

我不想要这种行为。有什么方法可以隔离我的 React 应用程序的 css 和其他网站的全局 css。

我看到了这个问题,但解决方案对我没有帮助。

reactjs webpack material-ui

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

与 WaitGroup 进行通道同步。关闭通道和等待组

我试图理解 Goroutines 中的同步。我这里有一个代码,在通道上写入从 0 到 4 的数字,完成后,我使用range并打印这些值从通道中读取。

当我在单独的 Goroutine 中等待使用wg.Wait()和关闭通道时,下面的代码工作正常。

package main

import (
    "fmt"
    "strconv"
    "sync"
)

func putvalue(i chan string, value string, wg *sync.WaitGroup) {
    i <- value
    defer wg.Done()
}

func main() {
    queue := make(chan string)
    var wg sync.WaitGroup

    for i := 0; i < 5; i++ {
        wg.Add(1)
        go putvalue(queue, strconv.Itoa(i), &wg)
    }

    go func() {
        wg.Wait()
        close(queue)
    }()

    for elem := range queue {
        fmt.Println(elem)
    }

}
Run Code Online (Sandbox Code Playgroud)

https://play.golang.org/p/OtaRP3Mm4lk

但是,如果我使用完全相同的代码,但在主线程中等待并关闭通道,则会导致死锁。下面的代码会导致死锁。

package …
Run Code Online (Sandbox Code Playgroud)

go goroutine

4
推荐指数
1
解决办法
3639
查看次数

在 Amazon SES 模板中使用样式标签设置 html 样式

我正在尝试通过包含样式标签来设置 Amazon SES 上电子邮件 html 模板内容的样式。但当我收到电子邮件时它没有呈现。

请告诉我如何使用 Amazon ses 将样式应用到我的电子邮件并在我的电子邮件中包含图像。提前致谢

amazon-ses

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

django 中日期时间字段按时间排序

我想根据日期时间字段的时间来排序查询集。我使用了以下内容(这里任务是我的模型,日期时间是字段)

Tasks.objects.all().order_by('datetime.time')
Run Code Online (Sandbox Code Playgroud)

这不起作用,而且

Tasks.objects.all().order_by('datetime__time')
Run Code Online (Sandbox Code Playgroud)

不起作用,因为它是同一模型的一部分。我尝试使用.annotate()但我不知道具体该怎么做。

我该怎么做呢?

django datetime django-models

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

在materailize CSS中更改面包屑的颜色

如何在实现CSS中更改面包屑文本和箭头的颜色。我可以通过应用适当的类来做到这一点,但是我无法更改面包屑中箭头标记的颜色。

css breadcrumbs materialize material-design

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

将 GitHub api 与 Python dict“解析 JSON 时出现问题”一起使用时出现问题

我正在尝试使用 GitHub api 来创建新文件。根据文档

这可以通过 PUT 请求来完成。

我正在使用 requests 包来发出请求。GitHub api 端点接受有效的 json 对象作为输入,即字符串位于双引号内。

我的数据具有以下格式 -

{
  'message': 'Updated learn.md',
  'content': 'ZW51bTM0PT0xLjEuNAotZSBnaXQraHR0cHM6Ly9naXRodWIuY29tL29wZW50b2svT3BlbnRvay1QeXRob24tU0RLLmdpdEAwMzU4YTI0ZDM0ZTkzMjVjYzRhODNhYmQxZTVjMGJmYzQ2M2ZkMjYwI2VnZz1vcGVudG9rCnB5dHo9PTIwMTYuNApyZXF1ZXN0cz09Mi4xMC4wCgo=',
  'branch': 'master'
}
Run Code Online (Sandbox Code Playgroud)

由于我以 Python 字典的形式放置数据,因此它带有单引号,但 GitHub 不接受它,并给出“解析 JSON 时出现问题”的 400 响应,如下所示

{
  "message": "Problems parsing JSON",
  "documentation_url": "https://developer.github.com/v3/repos/contents/#update-a-file"
}
Run Code Online (Sandbox Code Playgroud)

我已经验证问题是因为仅使用邮递员发出 PUT 请求时的引号,在这种情况下它是成功的。

正确的数据如下所示

{
  "message": "Updated learn.md",
  "content": "ZW51bTM0PT0xLjEuNAotZSBnaXQraHR0cHM6Ly9naXRodWIuY29tL29wZW50b2svT3BlbnRvay1QeXRob24tU0RLLmdpdEAwMzU4YTI0ZDM0ZTkzMjVjYzRhODNhYmQxZTVjMGJmYzQ2M2ZkMjYwI2VnZz1vcGVudG9rCnB5dHo9PTIwMTYuNApyZXF1ZXN0cz09Mi4xMC4wCgo=",
  "branch": "master"
}
Run Code Online (Sandbox Code Playgroud)

这是我拨打电话的方式

def put_data_to_github(self, url, data):
    headers = {}
    headers['Authorization'] = "token " + self.auth_token
    response = requests.put(url, data=data, headers=headers)
    return response
Run Code Online (Sandbox Code Playgroud)

如何在 Python 中创建有效的 …

python json github-api python-3.x python-requests

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

如何漂亮地打印同步地图的内容

我想在 Go 中漂亮地打印同步地图的内容。我有一个 sync.Mapdata我想打印它的内容。

要查看特定键的值,SiteData我可以运行以下代码。

var data sync.Map
siteData := map[string]string{"Name": "StackOverflow"}
data.Store("SiteData", siteData)
temp, _ := data.Load("SiteData") 
b, _ := json.MarshalIndent(temp, "", " ")
fmt.Println(string(b))
Run Code Online (Sandbox Code Playgroud)

但我希望一次打印整个地图。这是因为data可以有很多键,我想一次打印它们。

运行以下代码不起作用并打印 {}

var data sync.Map
siteData := map[string]string{"Name": "StackOverflow"}
data.Store("SiteData", siteData)
b, _ := json.MarshalIndent(data, "", " ")
fmt.Println(string(b))
Run Code Online (Sandbox Code Playgroud)

dictionary go

0
推荐指数
1
解决办法
3685
查看次数