小编han*_*ome的帖子

如何在 React Router 中解析查询字符串

你好,我正在使用 react 路由器,我需要传递一些查询字符串参数

试过

<Route path="/result/:type?/?filter=:filter?" exact strict component={Result}/>
Run Code Online (Sandbox Code Playgroud)

我期待捕捉像这样的网址

/result
/result/animals
/result/cars
/result/animals?filter=cats,dogs
/result/cars?filter=sedan,truck
Run Code Online (Sandbox Code Playgroud)

正确的做法是什么?

javascript reactjs react-router

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

在续集中使用 findByPk 和 WHERE 条件

在 Sequelize 我使用 findByPk 但我还需要通过另一个条件

const options = {
    where: { role: 'admin' },
};

return models.User.findByPk(id, options)
    .then((user) => {...
Run Code Online (Sandbox Code Playgroud)

但即使角色不是管理员,此查询也会重新调整所有用户。我检查了生成的 SQL,我看到 SELECT * from User WHERE id = 1 但我没有看到 AND 角色 = 'admin'。如何使用 findByPk 并传递另一个条件?

谢谢你

sequelize.js

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

雄辩的数据透视表具有不同的列名

用户表

- id
- name (string)
Run Code Online (Sandbox Code Playgroud)

访问表

- id
- user_id
- viewer_id 
Run Code Online (Sandbox Code Playgroud)

我想获取具有给定用户的链接用户名的访问列表(在这种情况下,id = 1)

$visits = \Visits::where(['user_id' => 1])->with('user')->get();
Run Code Online (Sandbox Code Playgroud)

这是我的造访模式:

class Visits extends Model
{

    protected $table = 'visits';

    public function store(Request $request)
    {
        $visits = new Visits;
        $visits->save();
    }

    public function user()
    {
        return $this->belongsTo('User', 'viewer_id');
    }

}
Run Code Online (Sandbox Code Playgroud)

这是我的用户模型

use Illuminate\Database\Eloquent\Model;

class User extends Model
{

    public function store(Request $request)
    {
        $user = new User;
        $user->save();
    }

}
Run Code Online (Sandbox Code Playgroud)

它返回数据,但“用户”为

php eloquent

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

将客户端域指向我的域

我有一个网站,为我的客户提供子域名(通配符子域名)

client1.test.com
client2.test.com
Run Code Online (Sandbox Code Playgroud)

我希望我的客户使用自己的域名如果他们想要的话.

什么样的记录需要添加点

client1.com => client1.test.com
shop.client1.com => client1.test.com
Run Code Online (Sandbox Code Playgroud)

我正在为www.test.com使用cloudflare的免费计划,但如果无法完成,我可以改变它

dns wildcard-subdomain cloudflare

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

useEffect 调用了两次

我知道为什么会发生这种情况,但想知道避免这种情况的正确方法是什么。\nuseEffect 被调用两次。一个是 data = null,然后是“真实”数据。

\n\n
const [data, setData] = useState(null);\nsomeServiceToFetchData.then(freshData => setData(freshData))\n\nuseEffect(() => {\n    console.log("useEffect called");\n}, [data]);\n
Run Code Online (Sandbox Code Playgroud)\n\n

我应该到处做这样的事情吗?

\n\n
useEffect(() => {\n    if (data) {\n        console.log("useEffect called with real data");\n    }\n}, [data]);\n
Run Code Online (Sandbox Code Playgroud)\n

javascript reactjs react-hooks

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

在expressjs中创建模型

我有一个快速应用程序,从外部API获取其数据

api.com/companies (GET, POST)
api.com/companies/id (GET, PUT)
Run Code Online (Sandbox Code Playgroud)

我想创建一个模型来使代码更容易维护,因为你可以看到我在这里重复了很多代码.

router.get('/companies', function(req, res, next) {

    http.get({
        host: 'http://api.com',
        path: '/companies'
    }, function(response) {
        var body = '';
        response.on('data', function(d) {
            body += d;
        });
    });

    res.render('companies', {data: body});
});

router.get('/companies/:id', function(req, res, next) {

    http.get({
        host: 'http://api.com',
        path: '/companies/' + req.params.id
    }, function(response) {
        var body = '';
        response.on('data', function(d) {
            body += d;
        });
    });

    res.render('company', {data: body});
});
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

javascript models node.js express

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

使用PHP后端和React Application

我有一个反应应用程序,我运行npm run build来生成我上传到S3的构建包.让我们说www.test.com/build/

但是我有一个PHP后端应该负责提供index.html(来自www.test.com/index.html)

由于没有与S3存储桶和PHP应用程序的连接,我不知道如何处理反应应用程序中的哈希名称

没有哈希值,我无法生成构建包,因为我将丢失缓存破坏程序.

什么是与反应应用程序和后端应用程序一起使用的良好实践.在这种情况下是PHP但我认为问题应该与托管在不同服务器中的NodeJS后端相同.

我正在使用AWS CodePipeline来构建react应用程序(npm run build)和php app(composer install)

php amazon-s3 reactjs

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

使用react动态加载图像

我创建了一个渲染图像的组件

\n

这是组件。

\n
import React, { lazy, Suspense } from "react";\n\nconst Icon = (props) => {\n    const { src } = props;\n\n    return (\n        <img src={src}  />\n    );\n};\n\nexport default Icon;\n
Run Code Online (Sandbox Code Playgroud)\n

然后我像这样使用它

\n
import ExampleIcon from "./../images/icons/example.png";\n...\n<Icon src={ExampleIcon} />\n
Run Code Online (Sandbox Code Playgroud)\n

有没有更有效的方法来加载图标?\n\n然后只需“加载”example.png 并将其用作源?尝试将其更改为:

\n
const Icon = (props) => {\n    const src = lazy(() => import("./../images/icons/" + props.src + ".png"));\n    return (\n        <Suspense fallback={<p>loading...</p>}><img src={src} /></Suspense>\n    );\n};\n
Run Code Online (Sandbox Code Playgroud)\n

看起来 \xc2\xb4 不是这样工作的。还有其他想法吗?谢谢!

\n

reactjs

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

使用 Flexbox 使 2 列高度相同

你好,我想让我的两列具有相同的高度(最小高度为 100vh)

<div class="wrapper">
    <div class="col">... little content... </div>
    <div class="col">...more content... </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的CSS是

.wrapper {
    display: flex;
    height: 100vh;
}

.col {
    outline: 1px #000 solid;
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果第二个(或第一个)列高度大于 100vh,则另一列将更短,并且不会扩展到与较大列相同的高度。

css flexbox

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

检测 React 中的 URL 参数变化

React 没有检测到 url 中的最后一个参数何时发生变化。如果我重新加载页面,它就可以工作。

我正在使用“react-router-dom”:“^5.0.1”

“路由器”

<Router>
    <PrivateRoute path="/users/:id" exact strict component={User}/>
</Router>
Run Code Online (Sandbox Code Playgroud)

然后。在User组件中,我有一个用户列表和所选用户的详细信息

class User extends Component {

    constructor(props) {
        super(props);

        this.state = {
            userId: null,
            users: [{id: '1', name: 'john'}, {id: '2', name: 'mary'}]
        }
    }

    componentDidMount() {
        const { id } = this.props.match.params;
        this.setState({'userId': id})
    }

    render() {
        return (
            <div>
                <div className="users">
                    {this.state.users.map((user, index) => {
                        return (<Link to={`users/${user.id}`}  key={index}>{user.name}</Link>)      
                    })}
                </div>
                <pre className="details">{this.state.userId}</pre>          

            </div>
        )
    }

}

export default User;
Run Code Online (Sandbox Code Playgroud)

当我选择不同的用户时,网址会发生变化,但this.state.userid …

reactjs

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